Skip to content

voucherifyio/voucherify-java-sdk

Repository files navigation

Voucherify Java SDK

Official Voucherify SDK for Java

Voucherify empowers marketers and developers with flexible building blocks to come up with, implement, and track targeted promotional campaigns.

Learn more about Voucherify by visiting our site.

This SDK is automatically generated by the OpenAPI Generator based on our Documentation with v2018-08-01 version.

The legacy version of Java SDK could be found here

📝 Documentation

You will find detailed description and example responses at our official documentation. Most method headers point to more detailed descriptions of arguments you can use.

📚 Want to learn more? Visit our official site or our Success Portal.

👽 Having troubles? Check our Help center.

🧪 Looking for promotion ideas? Check our Cookbook to get an inspiration.

🐛 Encounter a bug? Please file a report in the Issues.

✅ Supported endpoint can be found here

Requirements

Building the API client library requires:

  1. Java 1.8+
  2. Maven (3.8.3+)/Gradle (7.2+)

Installation

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>io.voucherify.client</groupId>
  <artifactId>voucherify-java-sdk</artifactId>
  <version>16.0.1</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

  repositories {
    mavenCentral()
  }

  dependencies {
     implementation "io.voucherify.client:voucherify-java-sdk:16.0.1"
  }

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/voucherify-java-sdk-16.0.1.jar
  • target/lib/*.jar

🚀 Running code

Please follow the installation instruction and execute the following Java code:

// Import classes:
import io.voucherify.client.ApiClient;
import io.voucherify.client.ApiException;
import io.voucherify.client.Configuration;
import io.voucherify.client.auth.*;
import io.voucherify.client.models.*;
import io.voucherify.client.api.AsyncActionsApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    defaultClient.setBasePath("https://api.voucherify.io");
    
    // Configure API key authorization: X-App-Id
    defaultClient.setAuthentication("X-App-Id", "YOUR X-App-Id");

    // Configure API key authorization: X-App-Token
    defaultClient.setAuthentication("X-App-Token", "YOUR X-App-Token");

      AsyncActionsApi apiInstance = new AsyncActionsApi(defaultClient);
      String asyncActionId = "asyncActionId_example"; // String | Unique ID of the asynchronous operation.
      try {
        AsyncActionGetResponseBody result = apiInstance.getAsyncAction(asyncActionId
         System.out.println(result);
      } catch (ApiException e) {
        System.err.println("Exception when calling AsyncActionsApi#getAsyncAction");
        System.err.println("Status code: " + e.getCode());
        System.err.println("Reason: " + e.getResponseBody());
        System.err.println("Response headers: " + e.getResponseHeaders());
        e.printStackTrace();
      }
    }
}

It may be useful to check the test implementation in the folder test (./src/test)

🐳 Running local tests with docker

  1. Copy .env.example to .env and fill in the values.
  2. Run docker build -t java . to build the image.
  3. Run docker run --rm java to run the tests and delete container immediately after.

🛠️ Contributing

Read more about how to Contribute to Voucherify Java SDK by visiting main repo GENERATING-SDKS.md

Remember that this SDK is auto generated (except of the tests) so changes made here will be overwritten by generator.

📅 Changelog

  • 2024-11-04 - 16.0.1
    • Added support for returning campaign_id and campaign_name in stackable validation endpoint, when redeemable option is expanded
  • 2024-10-28 - 16.0.0
    • Added missing enums in few filters models
    • !!! BREAKING CHANGES !!!
      • VouchersApi.generateRandomCode now requires VouchersCreateResponseBody instead of plain object
      • property product in model Discount now uses DiscountProduct instead of SimpleProductDiscountUnit
      • property filters of model ExportsCreateRequestBodyParameters now uses plain object instead of ExportsCreateRequestBodyParametersFilters
  • 2024-10-24 - 15.0.0
    • Fix object parsing in query. For example filters while listing redemptions.
    • !!! BREAKING CHANGES !!!
      • Remove support for /v1/customers/{customerId}/consents - put Update Customer's consents [Deprecated]
      • Remove support for /v1/consents - get List Consents [Deprecated]
      • Remove support for /client/v1/customers/{customerId}/consents - put Update Customer's consents (client-side) [Deprecated]
      • Pagination changed on listing card transactions(listLoyaltyCardTransactions) - NO page param is supported - use starting_after_id instead.
      • Pagination changed on listing voucher transactions(listVoucherTransactions) - NO page param is supported - use starting_after_id instead.
      • ApplicableToEffect - changed - EVERY -> TO_EVERY, CHEAPEST -> TO_CHEAPEST, MOST_EXPENSIVE -> TO_MOST_EXPENSIVE, 2 new values introduced.
      • listPublications parameter filters have changed - now uses ParameterFiltersListPublications instead of String
      • ParameterFiltersListRedemptions and ParameterFiltersListCustomerRedeemables have been updated
      • enum LUCKY_DRAW, LUCKY_DRAW_CODE, VOUCHER_LUCKY_DRAW_CODE, CAMPAIGN_LUCKY_DRAW have been deleted from everywhere and no longer supported
      • CampaignsUpdateRequestBody - properties activityDurationAfterPublishing, joinOnce, autoJoin, type, uniqueWinners, uniqueWinnersPerDraw and enum AUTO_UPDATE | STATIC have been deleted and no longer supported
      • updateCustomersConsents has been deleted and no longer supported
      • FilterConditionsDateTimeConditions model has been renamed to FilterConditionsDateTime
      • FilterConditionsDateTime - conditions has been divided on $after, $before, $hasValue, $isUnknown, moreThan, lessThan properties
      • ParamterFiltersListCustomerRedeemables - model name of createdAt has been renamed from FilterConditionsDateTime to ParameterFiltersListCustomerRedeemablesCreatedAt
      • filter property in schemas ProductCollectionsCreateRequestBody, ProductCollectionsCreateResponseBody, ProductCollectionsItem and ProductCollectionsGetResponseBody has changed. Uses plain object.
      • discount property in schema CampaignsUpdateRequestBody now uses Discount model
      • properties winnersCount, uniqueWinnersPerDraw, uniqueWinners in model CampaignsUpdateRequestBody were deleted.
      • property stackingRulesType were deleted from models CategoriesGetResponseBody, Category
      • property categories in model ClientValidationsValidateResponseBodyRedeemablesItem uses now Array model
      • model ParameterFiltersListCustomerRedeemablesCampaignId has been fixed, can use junction properly.
      • model ParameterFiltersListRedemptions has been fixed, can use junction properly.
      • property filter in model ProductCollectionsCreateRequestBody now uses plain Object
      • property categories in model QualificationsRedeemable now uses Array<CategoryWithStackingRulesType>
    • Added support:
      • /v1/metadata-schemas - get List Metadata Schemas
      • /v1/metadata-schemas/{resource} - get Get Metadata Schema
      • /v1/locations - List Locations
      • /v1/locations/{locationId} - get Get Location
      • /v1/referrals/{campaignId}/members/{memberId}/holders - post Add Referral Code Holders
      • /v1/referrals/{campaignId}/members/{memberId}/holders - get List Referral Code Holders
      • /v1/referrals/{campaignId}/members/{memberId}/holders/{holderId} - delete Remove Referral Card Holder
      • /v1/referrals/members/{memberId}/holders - post Add Referral Code Holders
      • /v1/referrals/members/{memberId}/holders - get List Referral Code Holders
      • /v1/referrals/members/{memberId}/holders/{holderId} - delete Remove Referral Card Holder
      • /v1/trash-bin - get List Bin Entries
      • /v1/trash-bin/{binEntryId} - delete Delete Bin Entry
      • /v1/templates/campaigns - get List Campaign Templates
      • /v1/templates/campaigns - post Create Campaign Template
      • /v1/templates/campaigns/{campaignTemplateId} - get Get Campaign Template
      • /v1/templates/campaigns/{campaignTemplateId} - put Update Campaign Template
      • /v1/templates/campaigns/{campaignTemplateId} - delete Delete Campaign Template
      • /v1/templates/campaigns/{campaignTemplateId}/campaign-setup - post Create Campaign From Template
      • /v1/templates/campaigns/{campaignTemplateId}/tier-setup - post Add Promotion Tier From Template
      • /management/v1/projects - post Create Project
      • /management/v1/projects - get List Projects
      • /management/v1/projects/{projectId} - get Get Project
      • /management/v1/projects/{projectId} - put Update Project
      • /management/v1/projects/{projectId} - delete Delete Project
      • /management/v1/projects/{projectId}/users - post Assign User
      • /management/v1/projects/{projectId}/users/{userId} - put Update User
      • /management/v1/projects/{projectId}/users/{userId} - delete Unassign User
      • /management/v1/projects/users/invite - post Invite a New User
      • /management/v1/projects/{projectId}/templates/campaigns - get List Campaign Templates
      • /management/v1/projects/{projectId}/templates/campaigns/{campaignTemplateId}/copy - post Copy Campaign Template to a Project
      • /management/v1/projects/{projectId}/stacking-rules - post Create Stacking Rules
      • /management/v1/projects/{projectId}/stacking-rules - get List Stacking Rules
      • /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} - get Get Stacking Rules
      • /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} - put Update Stacking Rules
      • /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} - delete Delete Stacking Rules
      • /management/v1/projects/{projectId}/metadata-schemas - post Create Metadata Schema
      • /management/v1/projects/{projectId}/metadata-schemas - get List Metadata Schemas
      • /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} - get Get Metadata Schema
      • /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} - put Update Metadata Schema
      • /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} - delete Delete Metadata Schema
      • /management/v1/projects/{projectId}/custom-event-schemas - post Create Custom Event Schema
      • /management/v1/projects/{projectId}/custom-event-schemas - get List Custom Event Schemas
      • /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} - get Get Custom Event Schema
      • /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} - put Update Custom Event Schema
      • /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} - delete Delete Custom Event Schema
      • /management/v1/projects/{projectId}/webhooks - post Create Webhook
      • /management/v1/projects/{projectId}/webhooks - get List Webhooks
      • /management/v1/projects/{projectId}/webhooks/{webhookId} - get Get Webhook
      • /management/v1/projects/{projectId}/webhooks/{webhookId} - put Update Webhook
      • /management/v1/projects/{projectId}/webhooks/{webhookId} - delete Delete Webhook
      • /management/v1/projects/{projectId}/branding - post Create Brand
      • /management/v1/projects/{projectId}/branding - get List Brands
      • /management/v1/projects/{projectId}/branding/{brandingId} - get Get Brand
      • /management/v1/projects/{projectId}/branding/{brandingId} - put Update Brand
      • /management/v1/projects/{projectId}/branding/{brandingId} - delete Delete Brand
  • 2024-09-05 - 14.0.1
    • Fix downloading exports. Include auth headers in the call.
  • 2024-09-05 - 14.0.0
    • Added support:
      • /v1/vouchers, get - List Vouchers
      • /v1/vouchers, post - Generate Random Code
      • /v1/vouchers/{code}, put - Update Voucher
      • /v1/vouchers/{code}, post - Create Voucher
      • /v1/vouchers/import, post - Import Vouchers
      • /v1/vouchers/bulk/async, post - Update Vouchers in Bulk
      • /v1/vouchers/metadata/async, post - Update Vouchers' Metadata in Bulk
      • /v1/promotions/tiers, get - List Promotion Tiers
      • /v1/loyalties, get - List Loyalty Campaigns
      • /v1/loyalties, post - Create Loyalty Campaign
      • /v1/loyalties/{campaignId}, get - Get Loyalty Campaign
      • /v1/loyalties/{campaignId}, put - Update Loyalty Campaign
      • /v1/loyalties/{campaignId}/members, get - List Members
      • /v1/loyalties/{campaignId}/members, post - Add Member
      • /v1/loyalties/{campaignId}/members/{memberId}, get - Get Member
      • /v1/loyalties/members/{memberId}, get - Get Member
      • /v1/loyalties/{campaignId}/members/{memberId}/activity, get - List Member Activity
      • /v1/loyalties/members/{memberId}/activity, get - List Member Activity
      • /v1/loyalties/{campaignId}/points-expiration/export, post - Create Points Expiration Export
      • /v1/loyalties/{campaignId}/earning-rules, get - List Earning Rules
      • /v1/loyalties/{campaignId}/earning-rules, post - Create Earning Rule
      • /v1/loyalties/{campaignId}/earning-rules/{earningRuleId}, put - Update Earning Rule
      • /v1/loyalties/{campaignId}/reward-assignments, get - List Reward Assignments
      • /v1/loyalties/{campaignId}/rewards, get - List Reward Assignments
      • /v1/loyalties/{campaignId}/rewards, post - Create Reward Assignment
      • /v1/loyalties/{campaignId}/rewards/{assignmentId}, put - Update Reward Assignment
      • /v1/customers/{customerId}/activity, get - List Customer Activity
      • /v1/customers/{customerId}/redeemables, get - List Customer's Redeemables
      • /v1/segments/{segmentId}, get - Get Segment
      • /v1/segments, post - Create Segment
      • /v1/async-actions, get - List Async Actions
      • /v1/async-actions/{asyncActionId}, get - Get Async Action
      • /client/v1/promotions/tiers, get - List Promotion Tiers (client-side)
    • ❗ Breaking changes ❗ :
      • TL;TR:
        • Support for additionalProperties in each model is dropped
        • Models naming changed in order to prevent creating breaking changes in the future - Model structure have not change.
        • Removed /client/v1/customers/{customerId}/consents, put - Update Customer's consents (client-side) [Deprecated]
      • Details:
        • CampaignsApi.disableCampaign returns Object instead of CampaignsDisableResponseBody, CampaignsDisableResponseBody was deleted
        • CampaignsApi.enableCampaign returns Object instead of CampaignsEnableResponseBody, CampaignsEnableResponseBody was deleted
        • CampaignsImportVoucherItem.loyaltyCard uses now SimpleLoyaltyCard instead of CampaignsImportVoucherLoyaltyCard, CampaignsImportVoucherLoyaltyCard was deleted
        • CampaignsVouchersCreateInBulkRequestBody.redemption uses now CampaignsVouchersCreateInBulkRequestBodyRedemption instead of CampaignsImportVoucherItemRedemption
        • CampaignsVouchersCreateRequestBody.redemption uses now CampaignsVouchersCreateRequestBodyRedemption instead of CampaignsImportVoucherItemRedemption
        • CampaignsVouchersCreateResponseBody.gift uses now CampaignsVouchersCreateResponseBodyGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • CampaignsVouchersCreateResponseBody.loyaltyCard uses now CampaignsVouchersCreateResponseBodyLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • CampaignsVouchersCreateResponseBody.publish uses now CampaignsVouchersCreateResponseBodyPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • CampaignsVouchersCreateResponseBody.redemption uses now CampaignsVouchersCreateResponseBodyRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • ClientQualificationsCheckEligibilityResponseBody.order uses now OrderCalculated instead of Order
        • ClientRedemptionsRedeemRequestBody.redeemables uses now ClientRedemptionsRedeemRequestBodyRedeemablesItem[] instead of StackableValidateRedeemBaseRedeemablesItem[]
        • ClientRedemptionsRedeemRequestBody.options uses now ClientRedemptionsRedeemRequestBodyOptions instead of ClientRedemptionsRedeemRequestBodyAllOfOptions
        • ClientValidationsValidateRequestBody.redeemables uses now ClientValidationsValidateRequestBodyRedeemablesItem[] instead of StackableValidateRedeemBaseRedeemablesItem[]
        • ClientValidationsValidateRequestBody.options uses now ClientValidationsValidateRequestBodyOptions instead of ClientValidationsValidateRequestBodyAllOfOptions
        • ClientValidationsValidateResponseBody.redeemables uses now ClientValidationsValidateResponseBodyRedeemablesItem instead of ValidationsValidateResponseBodyRedeemablesItem
        • Customer.address uses now CustomerAddress instead of CustomerBaseAddress
        • CustomerLoyalty.campaigns uses now Map<String, CustomerLoyaltyCampaignsEntry> instead of Map<String, CustomerLoyaltyCampaignsValue>
        • CustomerWithSummaryLoyaltyReferrals.assets uses now CustomerWithSummaryLoyaltyReferralsAssets instead of CustomerResponseDataAssets
        • CustomerWithSummaryLoyaltyReferrals.address uses now CustomerWithSummaryLoyaltyReferralsAddress instead of CustomerBaseAddress
        • CustomersCreateRequestBody.address uses now CustomersCreateRequestBodyAddress instead of CustomerBaseAddress
        • CustomersCreateResponseBody.assets uses now CustomersCreateResponseBodyAssets instead of CustomerResponseDataAssets
        • CustomersCreateResponseBody.address uses now CustomersCreateResponseBodyAddress instead of CustomerBaseAddress
        • CustomersGetResponseBody.assets uses now CustomersGetResponseBodyAssets instead of CustomerResponseDataAssets
        • CustomersGetResponseBody.address uses now CustomersGetResponseBodyAddress instead of CustomerBaseAddress
        • CustomersUpdateInBulkRequestBody.address uses now CustomersUpdateInBulkRequestBodyAddress instead of CustomerBaseAddress
        • CustomersUpdateRequestBody.address uses now CustomersUpdateRequestBodyAddress instead of CustomerBaseAddress
        • CustomersUpdateResponseBody.address uses now CustomersUpdateResponseBodyAddress instead of CustomerBaseAddress
        • CustomersUpdateResponseBody.assets uses now CustomersUpdateResponseBodyAssets instead of CustomerResponseDataAssets
        • EarningRule.loyalty uses now EarningRuleLoyalty instead of EarningRuleBaseLoyalty
        • EarningRule.customEvent uses now EarningRuleCustomEvent instead of EarningRuleBaseCustomEvent, EarningRuleBaseCustomEvent was deleted
        • EarningRule.segment uses now EarningRuleSegment instead of EarningRuleBaseSegment
        • EarningRule.loyalty uses now EarningRuleSource instead of EarningRuleBaseSource
        • EventsCreateRequestBody.referral uses now EventsCreateRequestBodyReferral instead of ClientEventsCreateRequestBodyReferral
        • EventsCreateRequestBody.loyalty uses now EventsCreateRequestBodyLoyalty instead of ClientEventsCreateRequestBodyLoyalty
        • ExportsGetResponseBody.result uses now ExportsGetResponseBodyResult instead of ExportResult
        • ExportsGetResponseBody.parameters uses now ExportsGetResponseBodyParameters instead of ExportParameters
        • LoyaltiesEarningRulesDisableResponseBody.loyalty uses now LoyaltiesEarningRulesDisableResponseBodyLoyalty instead of EarningRuleBaseLoyalty
        • LoyaltiesEarningRulesDisableResponseBody.event uses now String instead of EarningRuleEvent
        • LoyaltiesEarningRulesDisableResponseBody.customEvent uses now LoyaltiesEarningRulesDisableResponseBodyCustomEvent instead of EarningRuleBaseCustomEvent
        • LoyaltiesEarningRulesDisableResponseBody.segment uses now LoyaltiesEarningRulesDisableResponseBodySegment instead of EarningRuleBaseSegment
        • LoyaltiesEarningRulesDisableResponseBody.source uses now LoyaltiesEarningRulesDisableResponseBodySource instead of EarningRuleBaseSource
        • LoyaltiesEarningRulesEnableResponseBody.loyalty uses now LoyaltiesEarningRulesEnableResponseBodyLoyalty instead of EarningRuleBaseLoyalty
        • LoyaltiesEarningRulesEnableResponseBody.event uses now String instead of EarningRuleEvent
        • LoyaltiesEarningRulesEnableResponseBody.customEvent uses now LoyaltiesEarningRulesEnableResponseBodyCustomEvent instead of EarningRuleBaseCustomEvent
        • LoyaltiesEarningRulesEnableResponseBody.segment uses now LoyaltiesEarningRulesEnableResponseBodySegment instead of EarningRuleBaseSegment
        • LoyaltiesEarningRulesEnableResponseBody.source uses now LoyaltiesEarningRulesEnableResponseBodySource instead of EarningRuleBaseSource
        • LoyaltiesEarningRulesGetResponseBody.loyalty uses now LoyaltiesEarningRulesGetResponseBodyLoyalty instead of EarningRuleBaseLoyalty
        • LoyaltiesEarningRulesGetResponseBody.event uses now String instead of EarningRuleEvent
        • LoyaltiesEarningRulesGetResponseBody.customEvent uses now LoyaltiesEarningRulesGetResponseBodyCustomEvent instead of EarningRuleBaseCustomEvent
        • LoyaltiesEarningRulesGetResponseBody.segment uses now LoyaltiesEarningRulesGetResponseBodySegment instead of EarningRuleBaseSegment
        • LoyaltiesEarningRulesGetResponseBody.source uses now LoyaltiesEarningRulesGetResponseBodySource instead of EarningRuleBaseSource
        • LoyaltiesMembersRedemptionRedeemResponseBody.relatedRedemptions uses now LoyaltiesMembersRedemptionRedeemResponseBodyRelatedRedemptions instead of RedemptionRelatedRedemptions
        • LoyaltiesMembersRedemptionRedeemResponseBody.channel uses now LoyaltiesMembersRedemptionRedeemResponseBodyChannel instead of RedemptionRelatedRedemptions
        • LoyaltiesMembersRedemptionRedeemResponseBody.voucher uses now LoyaltiesMembersRedemptionRedeemResponseBodyVoucher instead of RedemptionVoucher
        • LoyaltiesMembersRedemptionRedeemResponseBody.gift uses now LoyaltiesMembersRedemptionRedeemResponseBodyGift instead of RedemptionGift
        • LoyaltiesMembersRedemptionRedeemResponseBody.loyaltyCard uses now LoyaltiesMembersRedemptionRedeemResponseBodyLoyaltyCard instead of RedemptionLoyaltyCard
        • LoyaltiesMembersTransactionsExportCreateResponseBody.parameters uses now LoyaltiesMembersTransactionsExportCreateResponseBodyParameters instead of LoyaltiesMembersTransactionsExportCreateRequestBodyParameters
        • LoyaltiesRewardAssignmentsGetResponseBody.parameters uses now LoyaltiesRewardAssignmentsGetResponseBodyParameters instead of RewardAssignmentParametersParameters
        • LoyaltiesRewardAssignmentsRewardGetResponseBody.attributes uses now LoyaltiesRewardAssignmentsRewardGetResponseBodyAttributes instead of RewardAttributes
        • LoyaltiesRewardsGetResponseBody.parameters uses now LoyaltiesRewardsGetResponseBodyParameters instead of RewardAssignmentParametersParameters
        • LoyaltiesTiersGetResponseBody.config uses now LoyaltiesTiersGetResponseBodyConfig instead of LoyaltyTierAllOfConfig
        • LoyaltiesTiersGetResponseBody.points uses now LoyaltiesTiersGetResponseBodyPoints instead of LoyaltyTierBasePoints
        • LoyaltyCardTransaction.details uses now LoyaltyCardTransactionDetails instead of VoucherTransactionDetails
        • LoyaltyCardTransactionsType.CANCELLATION(POINTS_CANCELLATION) was removed
        • LoyaltyTier.config uses now LoyaltyTierConfig instead of LoyaltyTierAllOfConfig
        • LoyaltyTier.points uses now LoyaltyTierPoints instead of LoyaltyTierBasePoints
        • OrderCalculated.items uses now List<OrderCalculatedItem> instead of List<OrderItemCalculated>
        • OrderCalculated.customer uses now CustomerId instead of Customer
        • OrderCalculated.referrer uses now ReferrerId instead of Customer
        • OrderCalculated.redemptions uses now Map<String, OrderRedemptionsEntry> instead of Map<String, OrderRedemptions>
        • OrderCalculatedNoCustomer was deleted
        • OrdersCreateResponseBody.referrer uses now ReferrerId instead of CustomerId
        • OrdersCreateResponseBody.redemptions uses now Map<String, OrderRedemptionsEntry> instead of Map<String, OrderRedemptions>
        • OrdersExportCreateResponseBody.parameters uses now OrdersExportCreateResponseBodyParameters instead of OrdersExportCreateRequestBodyParameters
        • OrdersGetResponseBody.redemptions uses now Map<String, OrderRedemptionsEntry> instead of Map<String, OrderRedemptions>
        • OrdersUpdateResponseBody.redemptions uses now Map<String, OrderRedemptionsEntry> instead of Map<String, OrderRedemptions>
        • OrdersUpdateResponseBody.referrer uses now ReferrerId instead of CustomerId
        • ProductCollectionsCreateRequestBody.products uses now List<ProductCollectionsCreateRequestBodyProductsItem> instead of List<ProductCollectionsCreateDynamicRequestBodyProductsItem>
        • ProductCollectionsCreateResponseBody.filter uses now ProductCollectionsCreateResponseBodyFilter instead of ProductCollectionsCreateRequestBodyFilter
        • ProductCollectionsCreateResponseBody.products uses now List<ProductCollectionsCreateResponseBodyProductsItem> instead of List<ProductCollectionsItemProductsItem>
        • ProductCollectionsGetResponseBod.filter uses now ProductCollectionsGetResponseBodyFilter instead of ProductCollectionsCreateRequestBodyFilter
        • ProductCollectionsGetResponseBod.products uses now List<ProductCollectionsGetResponseBodyProductsItem> instead of List<ProductCollectionsItemProductsItem>
        • ProductCollectionsItem.filter uses now ProductCollectionsItemFilter instead of ProductCollectionsCreateRequestBodyFilter
        • ProductCollectionsProductsListResponseBody.data uses now List<ProductCollectionsProductsListResponseBodyDataItem> instead of List<ProductCollectionsProductsListDataItem>
        • PromotionStack.tiers uses now PromotionStackTiers instead of PromotionStackBaseTiers
        • PromotionTierCreateParams.action uses now PromotionTierCreateParamsAction instead of PromotionTierAction
        • PromotionsStacksCreateRequestBody.tiers uses now PromotionsStacksCreateRequestBodyTiers instead of PromotionStackBaseTiers
        • PromotionsStacksGetResponseBody.tiers uses now PromotionsStacksGetResponseBodyTiers instead of PromotionStackBaseTiers
        • PromotionsStacksUpdateResponseBody.tiers uses now PromotionsStacksUpdateResponseBodyTiers instead of PromotionStackBaseTiers
        • PromotionsTiersCreateRequestBody.action uses now PromotionsTiersCreateRequestBodyAction instead of PromotionTierAction
        • PromotionsTiersCreateResponseBody.action uses now PromotionsTiersCreateResponseBodyAction instead of PromotionTierAction
        • PromotionsTiersCreateResponseBody.campaign uses now PromotionsTiersCreateResponseBodyCampaign instead of PromotionTierCampaign
        • PromotionsTiersCreateResponseBody.summary uses now PromotionsTiersCreateResponseBodySummary instead of PromotionTierSummary
        • PromotionsTiersDisableResponseBody.action uses now PromotionsTiersDisableResponseBodyAction instead of PromotionTierAction
        • PromotionsTiersDisableResponseBody.campaign uses now PromotionsTiersDisableResponseBodyCampaign instead of PromotionTierCampaign
        • PromotionsTiersDisableResponseBody.summary uses now PromotionsTiersDisableResponseBodySummary instead of PromotionTierSummary
        • PromotionsTiersEnableResponseBody.action uses now PromotionsTiersEnableResponseBodyAction instead of PromotionTierAction
        • PromotionsTiersEnableResponseBody.campaign uses now PromotionsTiersEnableResponseBodyCampaign instead of PromotionTierCampaign
        • PromotionsTiersEnableResponseBody.summary uses now PromotionsTiersEnableResponseBodySummary instead of PromotionTierSummary
        • PromotionsTiersGetResponseBody.action uses now PromotionsTiersGetResponseBodyAction instead of PromotionTierAction
        • PromotionsTiersGetResponseBody.campaign uses now PromotionsTiersGetResponseBodyCampaign instead of PromotionTierCampaign
        • PromotionsTiersGetResponseBody.summary uses now PromotionsTiersGetResponseBodySummary instead of PromotionTierSummary
        • PromotionsTiersUpdateRequestBody.action uses now PromotionsTiersUpdateRequestBodyAction instead of PromotionTierAction
        • PromotionsTiersUpdateResponseBody.action uses now PromotionsTiersUpdateResponseBodyAction instead of PromotionTierAction
        • PromotionsTiersUpdateResponseBody.campaign uses now PromotionsTiersUpdateResponseBodyCampaign instead of PromotionTierCampaign
        • PromotionsTiersUpdateResponseBody.summary uses now PromotionsTiersUpdateResponseBodySummary instead of PromotionTierSummary
        • QualificationsOptionFilters.campaignType uses now QualificationsOptionFiltersCampaignType instead of QualificationsCampaignTypeConditions
        • RedemptionRelatedRedemptions.redemptions uses now List<RedemptionRelatedRedemptionsRedemptionsItem> instead of List<RedemptionRelatedRedemptionsItem>
        • RedemptionRollbackRelatedRedemptions.redemptions uses now List<RedemptionRollbackRelatedRedemptionsRedemptionsItem> instead of List<RedemptionRollbackRelatedRedemptionsItem>
        • RedemptionVoucher.gift uses now RedemptionVoucherGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • RedemptionVoucher.loyaltyCard uses now RedemptionVoucherLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • RedemptionVoucher.publish uses now RedemptionVoucherPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • RedemptionVoucher.redemption uses now RedemptionVoucherRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • RedemptionsRedeemRequestBody.options uses now RedemptionsRedeemRequestBodyOptions instead of ClientRedemptionsRedeemRequestBodyAllOfOptions
        • RedemptionsRedeemRequestBody.redeemables uses now List<RedemptionsRedeemRequestBodyRedeemablesItem> instead of List<StackableValidateRedeemBaseRedeemablesItem>
        • RedemptionsRollbackCreateResponseBody.relatedRedemptions uses now RedemptionsRollbackCreateResponseBodyRelatedRedemptions instead of RedemptionRollbackRelatedRedemptions
        • RedemptionsRollbackCreateResponseBody.channel uses now RedemptionsRollbackCreateResponseBodyChannel instead of RedemptionRollbackChannel
        • RedemptionsRollbackCreateResponseBody.gift uses now RedemptionsRollbackCreateResponseBodyGift instead of RedemptionRollbackGift
        • RedemptionsRollbackCreateResponseBody.loyaltyCard uses now RedemptionsRollbackCreateResponseBodyLoyaltyCard instead of RedemptionRollbackLoyaltyCard
        • Referrer.address uses now ReferrerAddress instead of CustomerBaseAddress
        • RewardAssignment.parameters uses now RewardAssignmentParameters instead of RewardAssignmentParametersParameters
        • RewardTypeCampaign.type has no longer PROMOTION and REFERRAL_PROGRAM since that make no sense
        • RewardsAssignmentsCreateResponseBody.parameters uses now RewardsAssignmentsCreateResponseBodyParameters instead of RewardAssignmentParametersParameters
        • RewardsAssignmentsGetResponseBody.parameters uses now RewardsAssignmentsGetResponseBodyParameters instead of RewardAssignmentParametersParameters
        • RewardsAssignmentsUpdateResponseBody.parameters uses now RewardsAssignmentsUpdateResponseBodyParameters instead of RewardAssignmentParametersParameters
        • RewardsCreateRequestBody.attributes uses now RewardsCreateRequestBodyAttributes instead of Object
        • RewardsUpdateRequestBody.attributes uses now RewardsUpdateRequestBodyAttributes instead of Object
        • RewardsUpdateRequestBodyParameters.product uses now RewardsUpdateRequestBodyParametersProduct instead of RewardsCreateRequestBodyParametersProduct
        • RewardsUpdateRequestBodyParameters.coin uses now RewardsUpdateRequestBodyParametersCoin instead of RewardsCreateRequestBodyParametersCoin
        • ValidationRule.error uses now ValidationRuleError instead of ValidationRuleBaseError
        • ValidationRule.applicableTo uses now ValidationRuleApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationRulesCreateRequestBody.error uses now ValidationRulesCreateRequestBodyError instead of ValidationRuleBaseError
        • ValidationRulesCreateRequestBody.applicableTo uses now ValidationRulesCreateRequestBodyApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationRulesCreateResponseBody.error uses now ValidationRulesCreateResponseBodyError instead of ValidationRuleBaseError
        • ValidationRulesCreateResponseBody.applicableTo uses now ValidationRulesCreateResponseBodyApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationRulesGetResponseBody.error uses now ValidationRulesGetResponseBodyError instead of ValidationRuleBaseError
        • ValidationRulesGetResponseBody.applicableTo uses now ValidationRulesGetResponseBodyApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationRulesUpdateRequestBody.error uses now ValidationRulesUpdateRequestBodyError instead of ValidationRuleBaseError
        • ValidationRulesUpdateRequestBody.applicableTo uses now ValidationRulesUpdateRequestBodyApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationRulesUpdateResponseBody.error uses now ValidationRulesUpdateResponseBodyError instead of ValidationRuleBaseError
        • ValidationRulesUpdateResponseBody.applicableTo uses now ValidationRulesUpdateResponseBodyApplicableTo instead of ValidationRuleBaseApplicableTo
        • ValidationsValidateRequestBody.options uses now ValidationsValidateRequestBodyOptions instead of ClientValidationsValidateRequestBodyAllOfOptions
        • ValidationsValidateRequestBody.redeemables uses now List<ValidationsValidateRequestBodyRedeemablesItem> instead of List<StackableValidateRedeemBaseRedeemablesItem>
        • ValidityHours.daily uses now List<ValidityHoursDailyItem> instead of List<ValidityHoursDailyInner>
        • Voucher.gift uses now VoucherGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • Voucher.loyaltyCard uses now VoucherLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • Voucher.publish uses now VoucherPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • Voucher.redemption uses now VoucherRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • VoucherAssets.qr uses now VoucherAssetsQr instead of LoyaltiesMembersTransfersCreateResponseBodyAssetsQr
        • VoucherAssets.barcode uses now VoucherAssetsBarcode instead of LoyaltiesMembersTransfersCreateResponseBodyAssetsBarcode
        • VouchersDisableResponseBody.gift uses now VouchersDisableResponseBodyGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • VouchersDisableResponseBody.loyaltyCard uses now VouchersDisableResponseBodyLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • VouchersDisableResponseBody.publish uses now VouchersDisableResponseBodyPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • VouchersDisableResponseBody.redemption uses now VouchersDisableResponseBodyRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • VouchersEnableResponseBody.gift uses now VouchersEnableResponseBodyGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • VouchersEnableResponseBody.loyaltyCard uses now VouchersEnableResponseBodyLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • VouchersEnableResponseBody.publish uses now VouchersEnableResponseBodyPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • VouchersEnableResponseBody.redemption uses now VouchersEnableResponseBodyRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • VouchersGetResponseBody.gift uses now VouchersGetResponseBodyGift instead of CampaignsVouchersCreateCombinedResponseBodyGift
        • VouchersGetResponseBody.loyaltyCard uses now VouchersGetResponseBodyLoyaltyCard instead of CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard
        • VouchersGetResponseBody.publish uses now VouchersGetResponseBodyPublish instead of CampaignsVouchersCreateCombinedResponseBodyPublish
        • VouchersGetResponseBody.redemption uses now VouchersGetResponseBodyRedemption instead of CampaignsVouchersCreateCombinedResponseBodyRedemption
        • VouchersTransactionsExportCreateResponseBody.result uses now VouchersTransactionsExportCreateResponseBodyResult instead of VoucherTransactionsExportResult
  • 2024-07-22 - 13.0.0
    • Added support for POST /v1/promotions/{campaignId}/tiers and PUT /v1/promotions/tiers/{promotionTierId}
    • Added support for GET and POST /v1/rewards
    • Added support for GET and PUT /v1/rewards/{rewardId}
    • ❗ BREAKING CHANGES❗:
      • Property key of model Session in now String, not Enum.
      • Renamed model ValidationsRedeemableSkippedDetails -> ValidationsRedeemableSkippedResultDetails
  • 2024-07-12 - 12.0.0
    • The new version of the SDK includes coverage for all the most commonly used Voucherify endpoints and supports typed models.

Previous versions of the API are no longer supported, and we highly recommend upgrading to version 12.0.0, which is now designated as Long-Term Support (LTS).

Changelog for previous versions could be found in the DEPRECATED_CHANGELOG.md file

🔐 Documentation for Authorization

// Setup ApiClient Authorization:

import io.voucherify.client.ApiClient;
import io.voucherify.client.Configuration;
import io.voucherify.client.auth.ApiKeyAuth;

public class Main {
  public static ApiClient getClient() {}
    ApiClient defaultClient = Configuration.getDefaultApiClient();

    defaultClient.setBasePath("https://api.voucherify.io");
    defaultClient.setAuthentication("X-App-Id", "YOUR_X_APP_ID");
    defaultClient.setAuthentication("X-App-Token", "YOUR_X_APP_TOKEN");

    return defaultClient;
  }
}

Documentation for API Endpoints

All URIs are relative to https://api.voucherify.io

Class Method HTTP request Description
AsyncActionsApi getAsyncAction GET /v1/async-actions/{asyncActionId} Get Async Action
AsyncActionsApi listAsyncActions GET /v1/async-actions List Async Actions
BinApi deleteBinEntry DELETE /v1/trash-bin/{binEntryId} Delete Bin Entry
BinApi listBinEntries GET /v1/trash-bin List Bin Entries
CampaignsApi addVoucherWithSpecificCodeToCampaign POST /v1/campaigns/{campaignId}/vouchers/{code} Add Voucher with Specific Code to Campaign
CampaignsApi addVouchersToCampaign POST /v1/campaigns/{campaignId}/vouchers Add Vouchers to Campaign
CampaignsApi createCampaign POST /v1/campaigns Create Campaign
CampaignsApi deleteCampaign DELETE /v1/campaigns/{campaignId} Delete Campaign
CampaignsApi disableCampaign POST /v1/campaigns/{campaignId}/disable Disable Campaign
CampaignsApi enableCampaign POST /v1/campaigns/{campaignId}/enable Enable Campaign
CampaignsApi getCampaign GET /v1/campaigns/{campaignId} Get Campaign
CampaignsApi importVouchersToCampaign POST /v1/campaigns/{campaignId}/import Import Vouchers to Campaign
CampaignsApi importVouchersToCampaignUsingCsv POST /v1/campaigns/{campaignId}/importCSV Import Vouchers to Campaign by CSV
CampaignsApi listCampaigns GET /v1/campaigns List Campaigns
CampaignsApi updateCampaign PUT /v1/campaigns/{campaignId} Update Campaign
CategoriesApi createCategory POST /v1/categories Create Category
CategoriesApi deleteCategory DELETE /v1/categories/{categoryId} Delete Category
CategoriesApi getCategory GET /v1/categories/{categoryId} Get Category
CategoriesApi listCategories GET /v1/categories List Categories
CategoriesApi updateCategory PUT /v1/categories/{categoryId} Update Category
ClientSideApi checkEligibilityClientSide POST /client/v1/qualifications Check Eligibility (client-side)
ClientSideApi listPromotionTiersClientSide GET /client/v1/promotions/tiers List Promotion Tiers (client-side)
ClientSideApi redeemStackedDiscountsClientSide POST /client/v1/redemptions Redeem Stackable Discounts (client-side)
ClientSideApi trackCustomEventClientSide POST /client/v1/events Track Custom Event (client-side)
ClientSideApi validateStackedDiscountsClientSide POST /client/v1/validations Validate Stackable Discounts (client-side)
CustomersApi createCustomer POST /v1/customers Create Customer
CustomersApi customerPermanentlyDeletion POST /v1/customers/{customerId}/permanent-deletion Delete Customer Permanently
CustomersApi deleteCustomer DELETE /v1/customers/{customerId} Delete Customer
CustomersApi getCustomer GET /v1/customers/{customerId} Get Customer
CustomersApi importCustomersUsingCsv POST /v1/customers/importCSV Import and Update Customers using CSV
CustomersApi listCustomerActivity GET /v1/customers/{customerId}/activity List Customer Activity
CustomersApi listCustomerRedeemables GET /v1/customers/{customerId}/redeemables List Customer's Redeemables
CustomersApi listCustomerSegments GET /v1/customers/{customerId}/segments List Customer's Segments
CustomersApi listCustomers GET /v1/customers List Customers
CustomersApi updateCustomer PUT /v1/customers/{customerId} Update Customer
CustomersApi updateCustomersInBulk POST /v1/customers/bulk/async Update Customers in Bulk
CustomersApi updateCustomersMetadataInBulk POST /v1/customers/metadata/async Update Customers' Metadata in Bulk
EventsApi trackCustomEvent POST /v1/events Track Custom Event
ExportsApi createExport POST /v1/exports Create Export
ExportsApi deleteExport DELETE /v1/exports/{exportId} Delete Export
ExportsApi downloadExport GET /v1/exports/{export_Id} Download Export
ExportsApi getExport GET /v1/exports/{exportId} Get Export
ExportsApi listExports GET /v1/exports List Exports
LocationsApi getLocation GET /v1/locations/{locationId} Get Location
LocationsApi listLocations GET /v1/locations List Locations
LoyaltiesApi addMember POST /v1/loyalties/{campaignId}/members Add Member
LoyaltiesApi createEarningRule POST /v1/loyalties/{campaignId}/earning-rules Create Earning Rule
LoyaltiesApi createInBulkLoyaltyTiers POST /v1/loyalties/{campaignId}/tiers Create loyalty tiers
LoyaltiesApi createLoyaltyProgram POST /v1/loyalties Create Loyalty Campaign
LoyaltiesApi createPointsExpirationExport POST /v1/loyalties/{campaignId}/points-expiration/export Create Points Expiration Export
LoyaltiesApi createRewardAssignment1 POST /v1/loyalties/{campaignId}/rewards Create Reward Assignment
LoyaltiesApi deleteEarningRule DELETE /v1/loyalties/{campaignId}/earning-rules/{earningRuleId} Delete Earning Rule
LoyaltiesApi deleteLoyaltyProgram DELETE /v1/loyalties/{campaignId} Delete Loyalty Campaign
LoyaltiesApi deleteRewardAssignment1 DELETE /v1/loyalties/{campaignId}/rewards/{assignmentId} Delete Reward Assignment
LoyaltiesApi disableEarningRule POST /v1/loyalties/{campaignId}/earning-rules/{earningRuleId}/disable Disable Earning Rule
LoyaltiesApi enableEarningRule POST /v1/loyalties/{campaignId}/earning-rules/{earningRuleId}/enable Enable Earning Rule
LoyaltiesApi exportLoyaltyCardTransactions POST /v1/loyalties/members/{memberId}/transactions/export Export Loyalty Card Transactions
LoyaltiesApi exportLoyaltyCardTransactions1 POST /v1/loyalties/{campaignId}/members/{memberId}/transactions/export Export Loyalty Card Transactions
LoyaltiesApi getEarningRule GET /v1/loyalties/{campaignId}/earning-rules/{earningRuleId} Get Earning Rule
LoyaltiesApi getLoyaltyProgram GET /v1/loyalties/{campaignId} Get Loyalty Campaign
LoyaltiesApi getLoyaltyTier GET /v1/loyalties/{campaignId}/tiers/{loyaltyTierId} Get Loyalty Tier
LoyaltiesApi getMember GET /v1/loyalties/members/{memberId} Get Member
LoyaltiesApi getMember1 GET /v1/loyalties/{campaignId}/members/{memberId} Get Member
LoyaltiesApi getRewardAssignment1 GET /v1/loyalties/{campaignId}/reward-assignments/{assignmentId} Get Reward Assignment
LoyaltiesApi getRewardAssignment2 GET /v1/loyalties/{campaignId}/rewards/{assignmentId} Get Reward Assignment
LoyaltiesApi getRewardDetails GET /v1/loyalties/{campaignId}/reward-assignments/{assignmentId}/reward Get Reward Details
LoyaltiesApi listEarningRules GET /v1/loyalties/{campaignId}/earning-rules List Earning Rules
LoyaltiesApi listLoyaltyCardTransactions GET /v1/loyalties/members/{memberId}/transactions List Loyalty Card Transactions
LoyaltiesApi listLoyaltyCardTransactions1 GET /v1/loyalties/{campaignId}/members/{memberId}/transactions List Loyalty Card Transactions
LoyaltiesApi listLoyaltyPrograms GET /v1/loyalties List Loyalty Campaigns
LoyaltiesApi listLoyaltyTierEarningRules GET /v1/loyalties/{campaignId}/tiers/{loyaltyTierId}/earning-rules List Loyalty Tier Earning Rules
LoyaltiesApi listLoyaltyTierRewards GET /v1/loyalties/{campaignId}/tiers/{loyaltyTierId}/rewards List Loyalty Tier Rewards
LoyaltiesApi listLoyaltyTiers GET /v1/loyalties/{campaignId}/tiers List Loyalty Tiers
LoyaltiesApi listMemberActivity GET /v1/loyalties/members/{memberId}/activity List Member Activity
LoyaltiesApi listMemberActivity1 GET /v1/loyalties/{campaignId}/members/{memberId}/activity List Member Activity
LoyaltiesApi listMemberLoyaltyTier GET /v1/loyalties/members/{memberId}/tiers List Member's Loyalty Tiers
LoyaltiesApi listMemberRewards GET /v1/loyalties/members/{memberId}/rewards List Member Rewards
LoyaltiesApi listMembers GET /v1/loyalties/{campaignId}/members List Members
LoyaltiesApi listPointsExpiration GET /v1/loyalties/{campaignId}/members/{memberId}/points-expiration Get Points Expiration
LoyaltiesApi listRewardAssignments1 GET /v1/loyalties/{campaignId}/reward-assignments List Reward Assignments
LoyaltiesApi listRewardAssignments2 GET /v1/loyalties/{campaignId}/rewards List Reward Assignments
LoyaltiesApi redeemReward POST /v1/loyalties/members/{memberId}/redemption Redeem Reward
LoyaltiesApi redeemReward1 POST /v1/loyalties/{campaignId}/members/{memberId}/redemption Redeem Reward
LoyaltiesApi transferPoints POST /v1/loyalties/{campaignId}/members/{memberId}/transfers Transfer Loyalty Points
LoyaltiesApi updateEarningRule PUT /v1/loyalties/{campaignId}/earning-rules/{earningRuleId} Update Earning Rule
LoyaltiesApi updateLoyaltyCardBalance POST /v1/loyalties/members/{memberId}/balance Add or Remove Loyalty Card Balance
LoyaltiesApi updateLoyaltyCardBalance1 POST /v1/loyalties/{campaignId}/members/{memberId}/balance Add or Remove Loyalty Card Balance
LoyaltiesApi updateLoyaltyProgram PUT /v1/loyalties/{campaignId} Update Loyalty Campaign
LoyaltiesApi updateRewardAssignment1 PUT /v1/loyalties/{campaignId}/rewards/{assignmentId} Update Reward Assignment
ManagementApi assignUser POST /management/v1/projects/{projectId}/users Assign User
ManagementApi createBrand POST /management/v1/projects/{projectId}/branding Create Brand
ManagementApi createCustomEventSchema POST /management/v1/projects/{projectId}/custom-event-schemas Create Custom Event Schema
ManagementApi createMetadataSchema POST /management/v1/projects/{projectId}/metadata-schemas Create Metadata Schema
ManagementApi createProject POST /management/v1/projects Create Project
ManagementApi createStackingRules POST /management/v1/projects/{projectId}/stacking-rules Create Stacking Rules
ManagementApi createWebhook POST /management/v1/projects/{projectId}/webhooks Create Webhook
ManagementApi deleteBrand DELETE /management/v1/projects/{projectId}/branding/{brandingId} Delete Brand
ManagementApi deleteCustomEventSchema DELETE /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} Delete Custom Event Schema
ManagementApi deleteMetadataSchema DELETE /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} Delete Metadata Schema
ManagementApi deleteProject DELETE /management/v1/projects/{projectId} Delete Project
ManagementApi deleteStackingRules DELETE /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} Delete Stacking Rules
ManagementApi deleteWebhook DELETE /management/v1/projects/{projectId}/webhooks/{webhookId} Delete Webhook
ManagementApi getBrand GET /management/v1/projects/{projectId}/branding/{brandingId} Get Brand
ManagementApi getCustomEventSchema GET /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} Get Custom Event Schema
ManagementApi getMetadataSchema1 GET /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} Get Metadata Schema
ManagementApi getProject GET /management/v1/projects/{projectId} Get Project
ManagementApi getStackingRules GET /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} Get Stacking Rules
ManagementApi getUser GET /management/v1/projects/{projectId}/users/{userId} Get User
ManagementApi getWebhook GET /management/v1/projects/{projectId}/webhooks/{webhookId} Get Webhook
ManagementApi inviteUser POST /management/v1/projects/users/invite Invite a New User
ManagementApi listBrands GET /management/v1/projects/{projectId}/branding List Brands
ManagementApi listCustomEventSchemas GET /management/v1/projects/{projectId}/custom-event-schemas List Custom Event Schemas
ManagementApi listMetadataSchemas1 GET /management/v1/projects/{projectId}/metadata-schemas List Metadata Schemas
ManagementApi listProjects GET /management/v1/projects List Projects
ManagementApi listStackingRules GET /management/v1/projects/{projectId}/stacking-rules List Stacking Rules
ManagementApi listUsers GET /management/v1/projects/{projectId}/users List Users
ManagementApi listWebhooks GET /management/v1/projects/{projectId}/webhooks List Webhooks
ManagementApi managementCopyCampaignTemplate POST /management/v1/projects/{projectId}/templates/campaigns/{campaignTemplateId}/copy Copy Campaign Template to a Project
ManagementApi managementListCampaignTemplates GET /management/v1/projects/{projectId}/templates/campaigns List Campaign Templates
ManagementApi unassignUser DELETE /management/v1/projects/{projectId}/users/{userId} Unassign User
ManagementApi updateBrand PUT /management/v1/projects/{projectId}/branding/{brandingId} Update Brand
ManagementApi updateCustomEventSchema PUT /management/v1/projects/{projectId}/custom-event-schemas/{customEventSchemaId} Update Custom Event Schema
ManagementApi updateMetadataSchema PUT /management/v1/projects/{projectId}/metadata-schemas/{metadataSchemaId} Update Metadata Schema
ManagementApi updateProject PUT /management/v1/projects/{projectId} Update Project
ManagementApi updateStackingRules PUT /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} Update Stacking Rules
ManagementApi updateUser PUT /management/v1/projects/{projectId}/users/{userId} Update User
ManagementApi updateWebhook PUT /management/v1/projects/{projectId}/webhooks/{webhookId} Update Webhook
MetadataSchemasApi getMetadataSchema GET /v1/metadata-schemas/{resource} Get Metadata Schema
MetadataSchemasApi listMetadataSchemas GET /v1/metadata-schemas List Metadata Schemas
OrdersApi createOrder POST /v1/orders Create Order
OrdersApi createOrderExport POST /v1/orders/export Create Orders Export
OrdersApi getOrder GET /v1/orders/{orderId} Get Order
OrdersApi importOrders POST /v1/orders/import Import Orders
OrdersApi listOrders GET /v1/orders List Orders
OrdersApi updateOrder PUT /v1/orders/{orderId} Update Order
ProductCollectionsApi createProductCollection POST /v1/product-collections Create Product Collection
ProductCollectionsApi deleteProductCollection DELETE /v1/product-collections/{productCollectionId} Delete Product Collection
ProductCollectionsApi getProductCollection GET /v1/product-collections/{productCollectionId} Get Product Collection
ProductCollectionsApi listProductCollections GET /v1/product-collections List Product Collections
ProductCollectionsApi listProductsInCollection GET /v1/product-collections/{productCollectionId}/products List Products in Collection
ProductsApi createProduct POST /v1/products Create Product
ProductsApi createSku POST /v1/products/{productId}/skus Create SKU
ProductsApi deleteProduct DELETE /v1/products/{productId} Delete Product
ProductsApi deleteSku DELETE /v1/products/{productId}/skus/{skuId} Delete SKU
ProductsApi getProduct GET /v1/products/{productId} Get Product
ProductsApi getSku GET /v1/skus/{skuId} Get SKU
ProductsApi importProductsUsingCsv POST /v1/products/importCSV Import Products using CSV
ProductsApi importSkusUsingCsv POST /v1/skus/importCSV Import SKUs using CSV
ProductsApi listProducts GET /v1/products List Products
ProductsApi listSkusInProduct GET /v1/products/{productId}/skus List SKUs in Product
ProductsApi updateProduct PUT /v1/products/{productId} Update Product
ProductsApi updateProductsInBulk POST /v1/products/bulk/async Update Products in Bulk
ProductsApi updateProductsMetadataInBulk POST /v1/products/metadata/async Update Products' Metadata in Bulk
ProductsApi updateSku PUT /v1/products/{productId}/skus/{skuId} Update SKU
PromotionsApi addPromotionTierToCampaign POST /v1/promotions/{campaignId}/tiers Add Promotion Tier to Campaign
PromotionsApi createPromotionStack POST /v1/promotions/{campaignId}/stacks Create Promotion Stack
PromotionsApi deletePromotionStack DELETE /v1/promotions/{campaignId}/stacks/{stackId} Delete Promotion Stack
PromotionsApi deletePromotionTier DELETE /v1/promotions/tiers/{promotionTierId} Delete Promotion Tier
PromotionsApi disablePromotionTier POST /v1/promotions/tiers/{promotionTierId}/disable Disable Promotion Tier
PromotionsApi enablePromotionTier POST /v1/promotions/tiers/{promotionTierId}/enable Enable Promotion Tier
PromotionsApi getPromotionStack GET /v1/promotions/{campaignId}/stacks/{stackId} Get Promotion Stack
PromotionsApi getPromotionTier GET /v1/promotions/tiers/{promotionTierId} Get Promotion Tier
PromotionsApi listAllPromotionStacks GET /v1/promotions/stacks List Promotion Stacks
PromotionsApi listPromotionStacksInCampaign GET /v1/promotions/{campaignId}/stacks List Promotion Stacks in Campaign
PromotionsApi listPromotionTiers GET /v1/promotions/tiers List Promotion Tiers
PromotionsApi listPromotionTiersFromCampaign GET /v1/promotions/{campaignId}/tiers List Promotion Tiers from Campaign
PromotionsApi updatePromotionStack PUT /v1/promotions/{campaignId}/stacks/{stackId} Update Promotion Stack
PromotionsApi updatePromotionTier PUT /v1/promotions/tiers/{promotionTierId} Update Promotion Tier
PublicationsApi createPublication POST /v1/publications Create Publication
PublicationsApi createPublication1 GET /v1/publications/create Create Publication
PublicationsApi listPublications GET /v1/publications List Publications
QualificationsApi checkEligibility POST /v1/qualifications Check Eligibility
RedemptionsApi getRedemption GET /v1/redemptions/{redemptionId} Get Redemption
RedemptionsApi getVoucherRedemptions GET /v1/vouchers/{code}/redemption Get Voucher's Redemptions
RedemptionsApi listRedemptions GET /v1/redemptions List Redemptions
RedemptionsApi redeemStackedDiscounts POST /v1/redemptions Redeem Stackable Discounts
RedemptionsApi rollbackRedemption POST /v1/redemptions/{redemptionId}/rollback Rollback Redemption
RedemptionsApi rollbackStackedRedemptions POST /v1/redemptions/{parentRedemptionId}/rollbacks Rollback Stackable Redemptions
ReferralsApi referralsAddHolders POST /v1/referrals/members/{memberId}/holders Add Referral Code Holders
ReferralsApi referralsAddHolders1 POST /v1/referrals/{campaignId}/members/{memberId}/holders Add Referral Code Holders
ReferralsApi referralsCodeHolders GET /v1/referrals/{campaignId}/members/{memberId}/holders List Referral Code Holders
ReferralsApi referralsCodeHolders1 GET /v1/referrals/members/{memberId}/holders List Referral Code Holders
ReferralsApi referralsRemoveHolder DELETE /v1/referrals/members/{memberId}/holders/{holderId} Remove Referral Card Holder
ReferralsApi referralsRemoveHolder1 DELETE /v1/referrals/{campaignId}/members/{memberId}/holders/{holderId} Remove Referral Card Holder
RewardsApi createReward POST /v1/rewards Create Reward
RewardsApi createRewardAssignment POST /v1/rewards/{rewardId}/assignments Create Reward Assignment
RewardsApi deleteReward DELETE /v1/rewards/{rewardId} Delete Reward
RewardsApi deleteRewardAssignment DELETE /v1/rewards/{rewardId}/assignments/{assignmentId} Delete Reward Assignment
RewardsApi getReward GET /v1/rewards/{rewardId} Get Reward
RewardsApi getRewardAssignment GET /v1/rewards/{rewardId}/assignments/{assignmentId} Get Reward Assignment
RewardsApi listRewardAssignments GET /v1/rewards/{rewardId}/assignments List Reward Assignments
RewardsApi listRewards GET /v1/rewards List Rewards
RewardsApi updateReward PUT /v1/rewards/{rewardId} Update Reward
RewardsApi updateRewardAssignment PUT /v1/rewards/{rewardId}/assignments/{assignmentId} Update Reward Assignment
SegmentsApi createSegment POST /v1/segments Create Segment
SegmentsApi deleteSegment DELETE /v1/segments/{segmentId} Delete Segment
SegmentsApi getSegment GET /v1/segments/{segmentId} Get Segment
TemplatesApi addTierFromTemplate POST /v1/templates/campaigns/{campaignTemplateId}/tier-setup Add Promotion Tier From Template
TemplatesApi createCampaignFromTemplate POST /v1/templates/campaigns/{campaignTemplateId}/campaign-setup Create Campaign From Template
TemplatesApi createCampaignTemplate POST /v1/templates/campaigns Create Campaign Template
TemplatesApi deleteCampaignTemplate DELETE /v1/templates/campaigns/{campaignTemplateId} Delete Campaign Template
TemplatesApi getCampaignTemplate GET /v1/templates/campaigns/{campaignTemplateId} Get Campaign Template
TemplatesApi listCampaignTemplates GET /v1/templates/campaigns List Campaign Templates
TemplatesApi updateCampaignTemplate PUT /v1/templates/campaigns/{campaignTemplateId} Update Campaign Template
ValidationRulesApi createValidationRuleAssignment POST /v1/validation-rules/{validationRuleId}/assignments Create Validation Rules Assignments
ValidationRulesApi createValidationRules POST /v1/validation-rules Create Validation Rules
ValidationRulesApi deleteValidationRuleAssignment DELETE /v1/validation-rules/{validationRuleId}/assignments/{assignmentId} Delete Validation Rule Assignment
ValidationRulesApi deleteValidationRules DELETE /v1/validation-rules/{validationRuleId} Delete Validation Rule
ValidationRulesApi getValidationRule GET /v1/validation-rules/{validationRuleId} Get Validation Rule
ValidationRulesApi listValidationRuleAssignments GET /v1/validation-rules/{validationRuleId}/assignments List Validation Rule Assignments
ValidationRulesApi listValidationRules GET /v1/validation-rules List Validation Rules
ValidationRulesApi listValidationRulesAssignments GET /v1/validation-rules-assignments List Validation Rules' Assignment(s)
ValidationRulesApi updateValidationRule PUT /v1/validation-rules/{validationRuleId} Update Validation Rule
ValidationsApi validateStackedDiscounts POST /v1/validations Validate Stackable Discounts
VouchersApi createVoucher POST /v1/vouchers/{code} Create Voucher
VouchersApi deleteVoucher DELETE /v1/vouchers/{code} Delete Voucher
VouchersApi disableVoucher POST /v1/vouchers/{code}/disable Disable Voucher
VouchersApi enableVoucher POST /v1/vouchers/{code}/enable Enable Voucher
VouchersApi exportVoucherTransactions POST /v1/vouchers/{code}/transactions/export Export Voucher Transactions
VouchersApi generateRandomCode POST /v1/vouchers Generate Random Code
VouchersApi getVoucher GET /v1/vouchers/{code} Get Voucher
VouchersApi importVouchers POST /v1/vouchers/import Import Vouchers
VouchersApi importVouchersUsingCsv POST /v1/vouchers/importCSV Import Vouchers using CSV
VouchersApi listVoucherTransactions GET /v1/vouchers/{code}/transactions List Voucher Transactions
VouchersApi listVouchers GET /v1/vouchers List Vouchers
VouchersApi releaseValidationSession DELETE /v1/vouchers/{code}/sessions/{sessionKey} Release Validation Session
VouchersApi updateVoucher PUT /v1/vouchers/{code} Update Voucher
VouchersApi updateVoucherBalance POST /v1/vouchers/{code}/balance Add or Remove Voucher Balance
VouchersApi updateVouchersInBulk POST /v1/vouchers/bulk/async Update Vouchers in Bulk
VouchersApi updateVouchersMetadataInBulk POST /v1/vouchers/metadata/async Update Vouchers' Metadata in Bulk

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

X-App-Id

  • Type: API key
  • API key parameter name: X-App-Id
  • Location: HTTP header

X-App-Token

  • Type: API key
  • API key parameter name: X-App-Token
  • Location: HTTP header

X-Client-Token

  • Type: API key
  • API key parameter name: X-Client-Token
  • Location: HTTP header

X-Client-Application-Id

  • Type: API key
  • API key parameter name: X-Client-Application-Id
  • Location: HTTP header

X-Management-Id

  • Type: API key
  • API key parameter name: X-Management-Id
  • Location: HTTP header

X-Management-Token

  • Type: API key
  • API key parameter name: X-Management-Token
  • Location: HTTP header

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.