POST api/inventory/KitBuilder/CalculatePrice
PD-6563: Calculates kit price including server-side promotion discounts. Client sends step selections (InventoryIDs per step) — no dollar amounts. Server resolves prices from InventoryPrices using the rep/customer rank price type, applies promotion rules, and returns the discount breakdown.
Request Information
URI Parameters
None.
Body Parameters
KitPriceCalculationRequest| Name | Description | Type | Additional information |
|---|---|---|---|
| KitInventoryID | integer |
None. |
|
| RepDID |
Rep DID for rank-price-type resolution (same as Configuration endpoint). |
string |
None. |
| CustomerDID |
Customer DID for rank-price-type resolution (same as Configuration endpoint). |
string |
None. |
| OrderType |
Order type for rank-price-type resolution ("R" or "C"). |
string |
None. |
| CartConfigurationID | integer |
None. |
|
| OnlineOrderID |
Online order ID fallback for enrollment/guest contexts. |
integer |
None. |
| StepSelections |
One entry per step: which inventory IDs the customer selected. |
Collection of KitStepSelectionRequest |
None. |
Request Formats
application/xml, text/xml
<KitPriceCalculationRequest>
<KitInventoryID>1</KitInventoryID>
<RepDID>sample string 2</RepDID>
<CustomerDID>sample string 3</CustomerDID>
<OrderType>sample string 4</OrderType>
<CartConfigurationID>5</CartConfigurationID>
<OnlineOrderID>6</OnlineOrderID>
<StepSelections>
<KitStepSelectionRequest>
<StepID>1</StepID>
<InventoryIDs>
<Int32>1</Int32>
<Int32>2</Int32>
</InventoryIDs>
</KitStepSelectionRequest>
<KitStepSelectionRequest>
<StepID>1</StepID>
<InventoryIDs>
<Int32>1</Int32>
<Int32>2</Int32>
</InventoryIDs>
</KitStepSelectionRequest>
</StepSelections>
</KitPriceCalculationRequest>
application/json, text/json
{
"KitInventoryID": 1,
"RepDID": "sample string 2",
"CustomerDID": "sample string 3",
"OrderType": "sample string 4",
"CartConfigurationID": 5,
"OnlineOrderID": 6,
"StepSelections": [
{
"StepID": 1,
"InventoryIDs": [
1,
2
]
},
{
"StepID": 1,
"InventoryIDs": [
1,
2
]
}
]
}
application/x-www-form-urlencoded
Response Information
Resource Description
KitPriceCalculationResponse| Name | Description | Type | Additional information |
|---|---|---|---|
| IsEstimateOnly |
True when this response is used only for kit-builder preview pricing. Final order totals are recalculated in checkout/order flows. |
boolean |
None. |
| KitLevelDiscount | decimal number |
None. |
|
| DiscountedSteps | Collection of KitDiscountedStepResponse |
None. |
Response Formats
application/xml, text/xml
<KitPriceCalculationResponse>
<IsEstimateOnly>True</IsEstimateOnly>
<KitLevelDiscount>2</KitLevelDiscount>
<DiscountedSteps>
<KitDiscountedStepResponse>
<StepID>1</StepID>
<DiscountAmount>2</DiscountAmount>
</KitDiscountedStepResponse>
<KitDiscountedStepResponse>
<StepID>1</StepID>
<DiscountAmount>2</DiscountAmount>
</KitDiscountedStepResponse>
</DiscountedSteps>
</KitPriceCalculationResponse>
application/json, text/json
{
"IsEstimateOnly": true,
"KitLevelDiscount": 2.0,
"DiscountedSteps": [
{
"StepID": 1,
"DiscountAmount": 2.0
},
{
"StepID": 1,
"DiscountAmount": 2.0
}
]
}