How to set up and manage Promotions

Appxite

Introduction

This comprehensive guide explains how to set up and manage Promotional Pricing within the Platform. It covers the complete workflow from role assignment and promotion creation to pricing calculations. This guide is designed for Product Management users with Promotion Manager roles.

Feature Usage Examples

To highlight possible benefits from the feature, let's imagine the following scenarios:

1. Vendor X plans a one-month marketing campaign, where selected products will have 10% discount for all sales above 10 licenses.

In this case Vendor X sets a Promotion for all Organizations (including new ones), for selected Offers only with given discount for minimum quantity 10 during the entire month of October 2025:





2. Vendor Y would like to give additional benefit to loyal customers by giving them 15% discount for all their Products, applied via special Promotion Code.

This case can also be easily configured by setting a Promotion Pricing for all Organizations and Offers (including new ones), with given Promotion value for 2 years period, but without applying Promotion automatically: this will trigger the Platform to display additional field on Offer page, where the Promotion Code needs to be manually entered by the Customer.




NOTE! By using the option to not apply the Promotion automatically, Vendor need to ensure to include field for promotion code in his Pricing Plan. Otherwise this configuration will not display the promotion code field to the Customers.


Promotion Pricing feature covers multiple business scenarios, making additional benefits for selected customers or offers only, marketing campaigns, discounts for new customers and many more easily configurable.

Access and Role Overview

Promotion Management Interface

The Promotions tab in Product Management is available to Vendors and users with Promotion Manager role only.

When you access the promotions page, you see:

  • New Promotion button to create new Promotion Pricings
  • Main information on promotions that have been already created with their statuses and ability to view more details on each promotion
  • Action column contains 2 options: eye icon to view the Promotion and toggle bar to Disable given Promotion, if needed.
NOTE! There is no ability to update existing promotions - if any promotion becomes invalid, you need to disable it and create a new one.

Understanding the Promotion Manager role

Access to the Promotion Manager functionality is restricted. The Promotion Manager role can be assigned in the following ways:

  • Directly by Platform internally (by submitting Support Request)
  • By a Vendor via their Vendor Portal, if configured. 
NOTE! Promotion Manager access will be granted selectively based on technical compatibility and integration requirements.

Role Assignment Process

Creating a Promotion Manager in Vendor Portal:

  1. Navigate to the User Section in the Vendor Portal
  2. Enter the email address for the new user
  3. Select "Promotion Manager" role from the dropdown
  4. Organization is automatically set to the Vendor Organization (they are the owner)
  5. Select specific Partners from the list - unique to this role
  6. The user will only have access to configure promotions for the specified Partners:
    The Partners section lists all partners with whom this vendor has direct contracts. The Promotion Manager will only have access to configure promotions for those partners that are specified during role creation.

Access Scope and Permissions

  • Promotion Managers can only create promotions for their contract chain
  • They cannot modify Offers or Pricing Plans
  • They will see the promotions tab and "New promotion" button
  • Internal approval form the technical team may be required for new Promotion Manager requests: the promotions interface will be released for all Vendors, but Platform will control who gets Promotion Manager access. If someone requests access, it needs to be analyzed for compatibility with vendor promotion logic and invoicing requirements.

Creating and configuring new promotions

To create a new promotion, follow these steps:

  1. Navigate to Product Management → Promotions section on the top of the page
  2. Select "New promotion"
  3. You will see expandable ections with detailed configuration options.

Basic Information Section

  1. Enable the Promotion Status by clicking toggle bar.
  2. Enter Custom Promotion ID. This is mandatory field, vendor identifier for external system integration.
  3. Enter Custom Promotion Name - Display-friendly name for reports and easier identification
  4. Set up Promotion Application Type. Configure how the promotion is applied across the Organization chain:

     

    Application Type Description Use Case
    Apply to Seller Promotion applies only to Seller level Seller gets promotion, and Customer do not
    Apply to all parties Exactly the same promotion value applies to Distributor, Seller, and Customer levels Currently used for the API-integrated vendors
    Apply to all parties with different values Specify different promotion values for each tier Each entity gets its own promotion percentage
    • Input current offer price (e.g., 200)
    • Input desired final price (e.g., 150)
    • System calculates required discount percentage (25% in this example)
    • Useful when vendors work with specific price targets rather than percentages
    • The results can be used for calculation only by clicking Calculate button, or can be applied directly to the grid by clicking Apply button

5. Configure promotions values accordingly to selected Application Type

When using "Apply to all parties with different values":

  • Each tier can have different promotion percentages
  • System prevents configurations that would result in negative costs (setting higher promotion for lower level is not possible)
  • Includes a calculation table showing cost and applied promotions
  • Table uses fake numbers for understanding calculation logic (not actual offer prices)


Calculation grid includes also built-in calculator for better overview. To use it, click on the question mark icon next to the needed Tier:

Calculator Functionality:

6. In Promotion Activation you decide if the Promotion Pricing should be applied automatically or manually.

Automatic promotion application means:

  • When catalog page loads, promotion is instantly displayed
  • No user interaction required to see discounted prices


If the box is not checked, the promotion will be applied only if user will insert custom Promotion Code manually during the purchase.

Manual promotion application workflow:

  • Customer must enter a promotion code
  • Integration checks if the code matches the Custom Promotion ID
  • Only matching codes trigger promotion calculation
  • Final decision on promotion display is made by vendor integration logic

7. Specify Promotion Use Limit 

Promotion limits define:

  • How many times a Customer can use the same promotion
  • Can be set for selected amount of times. Value 0 sets unlimited usage.
  • Platform checks if customer has already used promotion

Promotion Scope

  1. Configure the contract type selection. Contract types define invoicing rules, so promotions are organized by contract type to ensure promotional pricing aligns with the appropriate invoicing structure.
  2. Set up Offer selection (optional). Choose which Products or Offers the promotion applies to:
    • All Offers within the selected Invoice Contract
    • Offers that belong to specific contract type (multiple selection allowed)
    • Apply to future new offers that the vendor will create
    • Apply only to current offers that the vendor has

Organizations

  1. Set up Channel selection. Choose between:

    • Direct Model - Seller to Customer relationship
    • Indirect Model - Sales through Distributor Partners

    The channel selection determines how many entities are involved in the chain for further configuration.

  2. Configure Organization targeting. You can apply promotion for all distributor organizations or select some specific ones from the list, based on the contracts, that a vendor has with this organization.

    For Indirect Channel, you can:

    • Apply promotion to all or specific Distributor organizations
    • Apply promotion to all or specific Seller organizations
    • If specific Sellers are selected, you can apply promotion to all or specific Customer organizations

       

    For Direct Channel, you can:

    • Apply promotion to all or specific Seller organizations
    • Apply promotion to all or specific Customer organizations

      NOTE! The checkbox "Automatically applied to new Distributor/Seller/Customer Organizations" determines:

      • Unchecked: Promotion applies only to organizations that existed when the promotion was created
      • Checked: Promotion applies to existing organizations AND new organizations created after promotion activation
  1.  

Quantity Requirements

In this section, you define Subscription Min and Max Quantity.

Quantity ranges define promotion eligibility:

  • Set minimum and maximum license quantities for promotion eligibility
  • Example: If minimum is 10 and maximum is 20, customer buying 5 licenses gets no promotion
  • Customer buying 15 licenses gets the promotion
  • Used for volume discounts and tiered pricing strategies
  • Both fields are mandatory

Promotion Period

In this section you configure the duration period for your Promotion Pricing by defining Start and End Date.

Effective date functionality:

  • Start Date and End Date define when promotions can be applied to new purchases
  • During effective period, customers see promotions in catalog
  • Outside effective period, promotions are not available for new purchases

Warning! Important distinction:

  • Effective Dates: Control when promotions can be purchased
  • Subscription Duration: Based on the initial configuration, promotions continue for the life of the subscription. Promotions can be also applied to existing Subscriptions, depending on their effectiveness and initial configuration.

Understanding promotional pricing structure

Promotional Pricing in the Platform works through a three-tier sales model where promotions are applied sequentially:

  • Distributor - Sets promotional Discounts and Markups for Sellers
  • Seller - Sets promotional Discounts and Markups for Customers
  • Customer - Receives the final promotional pricing

Each level can apply independent promotional Discounts ranging from 0% (no Discount) to higher percentages. The system calculates final pricing by applying promotions sequentially through the sales hierarchy.

How promotions work with Markups

Promotions apply after existing Markups are calculated. For example:

  • Base Cost Price: $2.55
  • Markup to Seller: 10% = $2.81
  • Promotion Discount: 20% = Final Price $2.24

Pricing calculation examples with complete scenarios

The following examples demonstrate how Promotional Pricing calculations work with different scenarios.

All examples use a base Cost Price of $2.55 and Suggested Retail Price of $3.00.

Scenario 1: Baseline - No promotions

Element Distributor Seller Customer
Promotion 0% 0% 0%
Price Source Cost Price Cost Price Cost Price
Markup 10% 5% -
Cost $2.55 $2.81 $2.95
Sales Price $2.81 $2.95 $2.95
The Platform reflects this configuration as shown below.
Customer view:
Seller view:

Distributor view:

Scenario 2: All levels 20% promotion

Element Distributor Seller Customer
Promotion 20% 20% 20%
Price Source Cost Price Cost Price Cost Price
Markup 10% 5% -
Cost $2.04 $2.24 $2.36
Sales Price $2.24 $2.36 $2.36
Configuration overview in Product Management:
The Platform reflects this configuration as shown below.
Customer view:
Seller view:

Distributor view:

 

Scenario 3: Distributor & Seller 20% promotion only

Element Distributor Seller Customer
Promotion 20% 20% 0%
Price Source Cost Price Cost Price Cost Price
Markup 10% 5% -
Cost $2.04 $2.24 $2.95
Sales Price $2.24 $2.95 $2.95

Configuration overview in Product Management:

The Platform reflects this configuration as shown below.
Customer view:
Seller view:

Distributor view:

Scenario 4: Distributor 20% promotion only

Element Distributor Seller Customer
Promotion 20% 0% 0%
Price Source Cost Price Cost Price Cost Price
Markup 10% 5% -
Cost $2.04 $2.81 $2.95
Sales Price $2.81 $2.95 $2.95
Configuration overview in Product Management:
The Platform reflects this configuration as shown below.
Customer view:
Seller view:
Distributor view:

 

Scenario 5: Distributor 20% + Seller uses Suggested Retail Price

Element Distributor Seller Customer
Promotion 20% 0% 0%
Price Source Cost Price Suggested Retail Price Suggested Retail Price
Markup 10% 5% -
Cost $2.04 $2.81 $3.15
Sales Price $2.81 $3.15 $3.15
Configuration overview in Product Management:
The Platform reflects this configuration as shown below.
Customer view:
Seller view:
Distributor view:

Scenario 6: Distributor 20% + Seller 20% + Suggested Retail Price Price Source

Element Distributor Seller Customer
Promotion 20% 20% 0%
Price Source Cost Price Suggested Retail Price Suggested Retail Price
Markup 10% 5% -
Cost $2.04 $2.24 $3.15
Sales Price $2.24 $3.15 $3.15
Configuration overview in Product Management:

 
The Platform reflects this configuration as shown below.
Customer view:
Seller view:
Distributor view:

 

Scenario 7: Mixed promotions with higher Markup (10%)

Element Distributor Seller Customer
Promotion 20% 5% 5%
Price Source Cost Price Suggested Retail Price Suggested Retail Price
Markup 10% 10% -
Cost $2.04 $2.66 $3.13
Sales Price $2.66 $3.13 $3.13
Configuration overview in Product Management:
The Platform reflects this configuration as shown below.
Customer view:
Seller view:
Distributor view:

Scenario 8: All Suggested Retail Price source with equal promotions

Element Distributor Seller Customer
Promotion 20% 5% 5%
Price Source Suggested Retail Price Suggested Retail Price Suggested Retail Price
Markup 10% 10% -
Cost $2.04 $3.13 $3.13
Sales Price $3.13 $3.13 $3.13

Configuration overview in Product Management:

The Platform reflects this configuration as shown below.

Customer view:
Seller view:
Distributor view:

 

Key scenario analysis

The tables above demonstrate several important pricing principles:

  • Scenarios 3 and 4 show that Customer promotions must be explicitly set - they don't inherit from upstream promotions. Seller saves money but Customer pays the same Price.
  • Scenarios 5 and 6 demonstrate how Price Source changes dramatically affect Seller pricing even with identical promotions.
  • Scenario 7 shows the impact of higher Markup percentages on Seller costs.
  • Scenario 8 illustrates full Suggested Retail Price sourcing where Distributor and Seller have identical pricing due to same Price Source.

Price Source configuration and Markup interactions

The Price Source setting determines which base Price is used for promotional calculations:

Cost Price as Price Source

When using Cost Price as the Price Source, promotions are calculated from the Vendor's Cost Price ($2.55 in our examples). This configuration provides:

  • Lower base Price for calculations
  • More aggressive promotional pricing
  • Better competitive positioning

Suggested Retail Price as Price Source

When using Suggested Retail Price as the Price Source, promotions are calculated from the Suggested Retail Price ($3.00 in our examples). This configuration:

  • Uses higher base Price for calculations
  • Results in higher final Customer Prices
  • Maintains standard retail Markup structure

Mixed Price Source scenarios

In scenarios 5-7, Distributors use Cost Price while Sellers use Suggested Retail Price. This creates different pricing tiers:

  • Distributor promotion: 20% off Cost Price ($2.55) results in Distributor paying based on promotional cost
  • Seller cost: Calculated from Distributor Price with Markup
  • Customer Price: Based on Seller's Price Source configuration
Warning! Mixed Price Source configurations can result in complex pricing structures. Always verify final Customer Prices before implementing promotional campaigns.

Purchasing Promotion and Subscriptions management: APIs

The Platform provides a set of APIs that allow Vendors with automatic provisioning to manage Promotion Pricing as a self-service capability.

NOTE! When processing Order Status via APIs, the promotionDetails object is required. Make sure to include it in your integration logic.

The promotionDetails object

When a Promotion has been created via the APIs described below, downstream calls that act on subscriptions or order status must include the promotionDetails object in the payload. Without it, the promotion will not be applied to the subscription record and pricing will fall back to the standard tier.

The object has the same shape regardless of which sequence it appears in (subscription create, order status update, etc.). Below is the structure plus the field rules.

Sample promotionDetails object:

"promotionDetails": {
  "vendorPromotionId": "85399-01",
  "effectiveFrom": "2026-04-07T00:00:00.000",
  "effectiveTill": "2027-04-07T00:00:00.000",
  "promotionDetails": [
    {
      "organizationId": "D227D98B-6681-4E13-8A73-D1EC6D4F1128",
      "discountType": "Percentage",
      "discountValue": 25.0
    },
    {
      "organizationId": "fa3e3227-3433-45b1-9756-bec2195b57bb",
      "discountType": "Percentage",
      "discountValue": 10.0
    }
  ]
}
NOTE! The outer wrapper is promotionDetails (object), and the inner array of discount items is also named promotionDetails. Both keys are required as shown.

Field rules:

Field Required Notes
vendorPromotionId Mandatory Identifier of the promotion on the vendor side.
effectiveFrom Mandatory Start of the promotion validity window (UTC).
effectiveTill Mandatory End of the promotion validity window (UTC). Must be strictly greater than effectiveFrom.
promotionDetails (inner array) Mandatory At least one item is required.
promotionDetails[].organizationId Optional null applies the discount to the entire contract chain. A specific GUID scopes the discount to that organization chain only. A specific GUID takes precedence over null for the same organization.
promotionDetails[].discountType Mandatory Only Percentage is currently supported.
promotionDetails[].discountValue Mandatory Positive decimal representing the discount percentage.

1. Create Promotion

Allows you to create a new Promotion for selected Organizations, Offers, and tier configurations.

Request body (sample payload):

{
  "customPromoId": "TestPromotionRetest",
  "customPromotionName": "RetestTest2",
  "promotionApplicationType": "2",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
  "organizations": [{
    "id": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
    "organizationType": 2,
    "parentId": ""
  }, {
    "id": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
    "organizationType": 3,
    "parentId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128"
  }],
  "tiers": [{
    "tier": 0,
    "promotionType": 0,
    "promotionValue": 10,
    "costPrice": 110,
    "retailPrice": 120
  }, {
    "tier": 1,
    "promotionType": 0,
    "promotionValue": 10,
    "costPrice": 99,
    "retailPrice": 108
  }, {
    "tier": 2,
    "promotionType": 0,
    "promotionValue": 10,
    "costPrice": 99,
    "retailPrice": 108
  }, {
    "tier": 3,
    "promotionType": 0,
    "promotionValue": 10,
    "costPrice": 99,
    "retailPrice": 108
  }],
  "channelType": 0,
  "startDate": "2026-04-29",
  "endDate": "2026-05-01",
  "enabled": true,
  "subscriptionMinQuantity": "4",
  "subscriptionMaxQuantity": "5",
  "subscriptionLimit": "5",
  "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
  "offerIds": ["d4a5658b-35d5-4bfe-8cfd-19321df3ff36"],
  "automaticallyApplyDistributors": true,
  "automaticallyApplySellers": false,
  "automaticallyApplyCustomers": false,
  "automaticallyApplyOffers": false,
  "applyPromotionAutomatically": true
}

Response: 200 OK (sample)

{
  "id": "b7671534-e62b-4713-adb3-e4e69bf233e1",
  "customPromoId": "TestPromotionRetest",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
  "organizations": {
    "distributorOrganizations": null,
    "sellerOrganizations": [{
      "sellerId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
      "sellerName": "QA2 reseller",
      "customerOrganizations": [{
        "customerId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
        "customerName": "VQA Promo"
      }]
    }],
    "totalCount": 0,
    "remainingCount": 0
  },
  "organizationTiers": [{
    "organizationId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
    "discountType": "Percentage",
    "discountValue": 10.0
  }, {
    "organizationId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
    "discountType": "Percentage",
    "discountValue": 10.0
  }],
  "offers": [{
    "offerId": "d4a5658b-35d5-4bfe-8cfd-19321df3ff36",
    "offerName": "Name"
  }],
  "tiers": [{
    "tier": 0,
    "promotionType": 0,
    "promotionValue": 10.0,
    "costPrice": 110.0,
    "retailPrice": 120.0
  }, {
    "tier": 1,
    "promotionType": 0,
    "promotionValue": 10.0,
    "costPrice": 99.0,
    "retailPrice": 108.0
  }, {
    "tier": 2,
    "promotionType": 0,
    "promotionValue": 10.0,
    "costPrice": 99.0,
    "retailPrice": 108.0
  }, {
    "tier": 3,
    "promotionType": 0,
    "promotionValue": 10.0,
    "costPrice": 99.0,
    "retailPrice": 108.0
  }],
  "channelType": 0,
  "startDate": "2026-04-29T00:00:00",
  "endDate": "2026-05-01T00:00:00",
  "enabled": true,
  "status": true,
  "subscriptionMinQuantity": 4,
  "subscriptionMaxQuantity": 5,
  "subscriptionLimit": 5,
  "createdAt": "2026-04-29T10:38:16.3417051Z",
  "createdBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "createdByName": null,
  "modifiedAt": "2026-04-29T10:38:16.3417051Z",
  "modifiedBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
  "applyPromotionAutomatically": true,
  "customPromotionName": "RetestTest2",
  "promotionApplicationType": 2,
  "duration": 0,
  "hasMoreOrganizations": false
}

2. List All Promotions

Returns the list of all Promotions created for a given Organization and Vendor.

  • API Reference: Product hub - List All Promotions
  • Endpoint: POST https://api.appxite.com/producthub/api/v1/promotions/filter (List operation)
  • Method: POST
  • Tag: Promotions

Request body:

{
  "organizationId": "{organization_id}",
  "vendorId": "{vendor_id}"
}

Sample payload:

{
  "organizationId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878"
}

Response: 200 OK (sample, truncated)

{
  "data": [{
    "id": "b7671534-e62b-4713-adb3-e4e69bf233e1",
    "customPromoId": "TestPromotionRetest",
    "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
    "organizations": {
      "distributorOrganizations": null,
      "sellerOrganizations": [{
        "sellerId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
        "sellerName": "QA2 reseller",
        "customerOrganizations": [{
          "customerId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
          "customerName": "VQA Promo"
        }]
      }],
      "totalCount": 0,
      "remainingCount": 0
    },
    "organizationTiers": [{
      "organizationId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
      "discountType": "Percentage",
      "discountValue": 10.000000
    }],
    "offers": [{
      "offerId": "d4a5658b-35d5-4bfe-8cfd-19321df3ff36",
      "offerName": "Name"
    }],
    "tiers": [{
      "tier": 0,
      "promotionType": 0,
      "promotionValue": 10.000000,
      "costPrice": 110.00,
      "retailPrice": 120.00
    }],
    "channelType": 0,
    "startDate": "2026-04-29T00:00:00",
    "endDate": "2026-05-01T00:00:00",
    "enabled": true,
    "status": true,
    "subscriptionMinQuantity": 4,
    "subscriptionMaxQuantity": 5,
    "subscriptionLimit": 5,
    "createdAt": "2026-04-29T10:38:16.3417051",
    "createdBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
    "createdByName": "Valentyn Vildiaiev",
    "modifiedAt": "2026-04-29T10:38:16.3417051",
    "modifiedBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
    "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
    "applyPromotionAutomatically": true,
    "customPromotionName": "RetestTest2",
    "promotionApplicationType": 2,
    "duration": 0,
    "hasMoreOrganizations": false
  }],
  "totalCount": 8
}

3. Get Promotion by Id

Returns the details of a single Promotion identified by its internal PromotionId.

Request parameters:

Name In Required Type Description
PromotionID template true GUID Internal PromotionId

Response: 200 OK (sample)

{
  "id": "b7671534-e62b-4713-adb3-e4e69bf233e1",
  "customPromoId": "TestPromotionRetest",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
  "organizations": {
    "distributorOrganizations": null,
    "sellerOrganizations": [{
      "sellerId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
      "sellerName": "QA2 reseller",
      "customerOrganizations": [{
        "customerId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
        "customerName": "VQA Promo"
      }]
    }],
    "totalCount": 0,
    "remainingCount": 0
  },
  "organizationTiers": [{
    "organizationId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
    "discountType": "Percentage",
    "discountValue": 10.000000
  }],
  "offers": [{
    "offerId": "d4a5658b-35d5-4bfe-8cfd-19321df3ff36",
    "offerName": "Name"
  }],
  "tiers": [{
    "tier": 0,
    "promotionType": 0,
    "promotionValue": 10.000000,
    "costPrice": 110.00,
    "retailPrice": 120.00
  }],
  "channelType": 0,
  "startDate": "2026-04-29T00:00:00",
  "endDate": "2026-05-01T00:00:00",
  "enabled": true,
  "status": true,
  "subscriptionMinQuantity": 4,
  "subscriptionMaxQuantity": 5,
  "subscriptionLimit": 5,
  "createdAt": "2026-04-29T10:38:16.3417051",
  "createdBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "createdByName": null,
  "modifiedAt": "2026-04-29T10:38:16.3417051",
  "modifiedBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
  "applyPromotionAutomatically": true,
  "customPromotionName": "RetestTest2",
  "promotionApplicationType": 2,
  "duration": 0,
  "hasMoreOrganizations": false
}

4. Disable Promotion

Allows you to disable (turn off) a Promotion using its internal PromotionId. After this call, both enabled and status in the response are set to false.

  • API Reference: Product hub - Disable Promotion
  • Endpoint: PATCH https://api.appxite.com/producthub/api/v1/promotions/{PromotionId}/false
  • Method: PATCH
  • Tag: Promotions

Request parameters:

Name In Required Type Description
PromotionId template true GUID Internal PromotionId

Response: 200 OK (sample)

{
  "id": "b7671534-e62b-4713-adb3-e4e69bf233e1",
  "customPromoId": "TestPromotionRetest",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
  "organizations": {
    "distributorOrganizations": null,
    "sellerOrganizations": [{
      "sellerId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
      "sellerName": "QA2 reseller",
      "customerOrganizations": [{
        "customerId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
        "customerName": "VQA Promo"
      }]
    }],
    "totalCount": 0,
    "remainingCount": 0
  },
  "organizationTiers": [],
  "offers": [],
  "tiers": [],
  "channelType": 0,
  "startDate": "2026-04-29T00:00:00",
  "endDate": "2026-05-01T00:00:00",
  "enabled": false,
  "status": false,
  "subscriptionMinQuantity": 4,
  "subscriptionMaxQuantity": 5,
  "subscriptionLimit": 5,
  "createdAt": "2026-04-29T10:38:16.3417051",
  "createdBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "createdByName": null,
  "modifiedAt": "2026-04-29T10:58:10.838654Z",
  "modifiedBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
  "applyPromotionAutomatically": true,
  "customPromotionName": "RetestTest2",
  "promotionApplicationType": 2,
  "duration": 0,
  "hasMoreOrganizations": false
}

5. Enable Promotion

Allows you to enable (turn on) a Promotion using its internal PromotionId. After this call, both enabled and status in the response are set to true.

  • API Reference: Product hub - Enable Promotion
  • Endpoint: PATCH https://api.appxite.com/producthub/api/v1/promotions/{PromotionId}/true
  • Method: PATCH
  • Tag: Promotions

Request parameters:

Name In Required Type Description
PromotionId template true GUID Internal PromotionId

Response: 200 OK (sample)

{
  "id": "b7671534-e62b-4713-adb3-e4e69bf233e1",
  "customPromoId": "TestPromotionRetest",
  "vendorId": "32a6545e-5e70-4f97-9b47-ddeffb657878",
  "organizations": {
    "distributorOrganizations": null,
    "sellerOrganizations": [{
      "sellerId": "d227d98b-6681-4e13-8a73-d1ec6d4f1128",
      "sellerName": "QA2 reseller",
      "customerOrganizations": [{
        "customerId": "d1f3b2b6-5b09-4fd2-b19d-19318ea43e45",
        "customerName": "VQA Promo"
      }]
    }],
    "totalCount": 0,
    "remainingCount": 0
  },
  "organizationTiers": [],
  "offers": [],
  "tiers": [],
  "channelType": 0,
  "startDate": "2026-04-29T00:00:00",
  "endDate": "2026-05-01T00:00:00",
  "enabled": true,
  "status": true,
  "subscriptionMinQuantity": 4,
  "subscriptionMaxQuantity": 5,
  "subscriptionLimit": 5,
  "createdAt": "2026-04-29T10:38:16.3417051",
  "createdBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "createdByName": null,
  "modifiedAt": "2026-04-29T11:01:34.9421223Z",
  "modifiedBy": "37a16be1-c202-4aba-b660-aa4412e4bd23",
  "contractTypeId": "2ade6b1e-a59f-40b8-b812-2055448cbdcd",
  "applyPromotionAutomatically": true,
  "customPromotionName": "RetestTest2",
  "promotionApplicationType": 2,
  "duration": 0,
  "hasMoreOrganizations": false
}
NOTE! The Disable and Enable endpoints share the same URL pattern, with the only difference being the boolean value at the end of the path (/false to disable, /true to enable).

Invoice

The Promotion Pricing is reflected in the Invoices in the Billings section as adjusted charge line, but doesn't include any additional information about exact promotions amount or price difference.

Limitations

  • As of Release 203: Functionality is designed for the Vendors that are using the Platform's Billing engine. Invoice parsing vendors already have promotional pricing applied based on invoice data provided from the vendor.
  • Promotions cannot be updated once created - must disable and create new one.

Summary

The Promotional Pricing feature provides Vendors with comprehensive tools to implement flexible discount strategies across their sales channels. This system supports both automatic and manual promotion application methods, enabling everything from broad marketing campaigns to targeted customer incentives through promotion codes.

Key capabilities include multi-tier pricing structures that allow different discount percentages across Distributor, Seller, and Customer levels, with sophisticated quantity-based eligibility rules and time-bound promotional periods. The system integrates seamlessly with existing Markup structures and supports both Cost Price and Suggested Retail Price sourcing models.

Was this article helpful?

0 out of 0 found this helpful

Add comment

Please sign in to leave a comment.