How to set up and manage Promotions
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.
In this article:
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.
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.
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.
Role Assignment Process
Creating a Promotion Manager in Vendor Portal:
- Navigate to the User Section in the Vendor Portal
- Enter the email address for the new user
- Select "Promotion Manager" role from the dropdown
- Organization is automatically set to the Vendor Organization (they are the owner)
- Select specific Partners from the list - unique to this role
- 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:
- Navigate to Product Management → Promotions section on the top of the page
- Select "New promotion"
- You will see expandable ections with detailed configuration options.
Basic Information Section
- Enable the Promotion Status by clicking toggle bar.
- Enter Custom Promotion ID. This is mandatory field, vendor identifier for external system integration.
- Enter Custom Promotion Name - Display-friendly name for reports and easier identification
-
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
- 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.
- 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
-
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.
-
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
- Apply promotion to all or specific Distributor organizations
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 |
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 |
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:
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 |
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 |
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 |
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 |
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.
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
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.
promotionDetails object is required. Make sure to include it in your integration logic.- Use Product Management UI to configure promotions as described in section Creating and configuring new promotions (the setting can be enabled per Support request)
- Use API endpoints to manage Promotions
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
}
]
}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.
- API Reference: Product hub - Create Promotion
-
Endpoint:
POST https://api.appxite.com/producthub/api/v1/promotions - Method: POST
- Tag: Promotions
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.
- API Reference: Product hub - Get Promotion by Id
-
Endpoint:
GET https://api.appxite.com/producthub/api/v1/promotions/{PromotionID} - Method: GET
- 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": [{
"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
}/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?
Articles in this section
- Customer Prices: Same-day pricing configuration
- Customer Prices: Price configuration
- Seller: Price Hierarchy
- Customer Prices: Change Customer Price on the Portal?
- Customer Prices: How to create markups with overlapping future dates?
- Customer Prices: How to change / delete Price configuration
- Customer Prices: How to add a "Special Price" badge to Offers?
- Customer Prices: How to bulk import prices?
- Price Source
- What is Soft and Hard Limit?
Add comment
Please sign in to leave a comment.