Technical referenceTask input data
Conversion task input_data
Configure the conversion job_type with safe pricing, rounding, bracket, and destination-currency input_data rules.
Purpose
A Conversion task converts variant prices to the destination currency and can
apply pricing, compare-at, minimum-price, bracket, and rounding rules. Set
job_type to conversion.
Valid JSON example
{
"enableCurrencyConversion": true,
"pricingRulesEnabled": true,
"priceMultiplicator": 1.3,
"changeCompareAtPrice": false,
"compareAtPriceMultiplicator": 2,
"tensRounding": [4, 9],
"decimalRounding": [90, 95],
"compareAtTensRounding": [4, 9],
"compareAtDecimalRounding": [90, 95],
"skipRoundingOnSameCurrency": false,
"overrideExchangeRates": false,
"customExchangeRates": [],
"useBrackets": false,
"priceBrackets": [],
"minimumPrice": 0
}JSON fields
| Field | Type | Required | Values and meaning |
|---|---|---|---|
enableCurrencyConversion | boolean | Yes in editor output | Convert from the source currency to the destination store currency. |
pricingRulesEnabled | boolean | Yes in editor output | Enable the top-level pricing controls. |
priceMultiplicator | number | Yes in editor output | Positive multiplier applied by the pricing rule. |
changeCompareAtPrice | boolean | Yes in editor output | Whether to calculate a compare-at price. |
compareAtPriceMultiplicator | number | Conditional | Required when changeCompareAtPrice is true. Zero is allowed; negative values are not. |
tensRounding | integer array | Yes in editor output | Allowed final whole-number endings, each from 0 through 9. |
decimalRounding | integer array | Yes in editor output | Allowed final decimal endings, each from 0 through 99. |
compareAtTensRounding | integer array | Yes in editor output | Whole-number endings for compare-at prices, each from 0 through 9. |
compareAtDecimalRounding | integer array | Yes in editor output | Decimal endings for compare-at prices, each from 0 through 99. |
skipRoundingOnSameCurrency | boolean | Yes in editor output | Skip rounding when source and destination currencies match. |
overrideExchangeRates | boolean | Yes in editor output | Use exchange-rate rows configured in the editor instead of the normal rate source. |
customExchangeRates | object array | Editor-managed | Custom exchange-rate rows. Their programmatic JSON contract is not stable; configure and validate them through Currency Conversion in the UI. |
useBrackets | boolean | Yes in editor output | Apply per-range pricing rules from priceBrackets. |
priceBrackets | object array | Conditional | Required and non-empty when useBrackets is true; maximum 10. |
minimumPrice | number or omitted | No | Non-negative floor for the final price. |
The editor does not persist a manually selected targetCurrency in this
input_data shape. CopyHero resolves the target currency from the destination
store when the workflow runs. Configure the store currency instead of adding a
guessed currency field.
Price bracket fields
Each bracket supports:
| Field | Type | Values and constraints |
|---|---|---|
minPrice | number | Non-negative lower boundary. Must be lower than maxPrice. |
maxPrice | number | Positive upper boundary. |
priceMode | string | multiplier or fixed. |
priceMultiplicator | number | Positive; used by multiplier mode. |
fixedPrice | number | Must be greater than zero when priceMode is fixed. |
changeCompareAtPrice | boolean | Enables the bracket's compare-at rule. |
compareAtPriceMultiplicator | number | Required when the bracket changes compare-at price. Zero is allowed. |
tensRounding | integer array | Values from 0 through 9. |
decimalRounding | integer array | Values from 0 through 99. |
compareAtTensRounding | integer array | Values from 0 through 9. |
compareAtDecimalRounding | integer array | Values from 0 through 99. |
Validation and run-time behavior
- When brackets are enabled, ranges must be contiguous: the next
minPricemust equal the previousmaxPrice. Gaps and overlaps are rejected. - Every bracket must satisfy
minPrice < maxPrice. - A bracket set can mix
multiplierandfixedmodes. - Both top-level and bracket compare-at rules require
compareAtPriceMultiplicatorwhen enabled. Zero is valid and means the value can be reset to zero. - Use at most 10 brackets.
- Configure custom exchange-rate rows through the UI. Do not copy their serialized shape into generated configuration or infer it from job history.
- Destination currency resolution happens at run time and requires usable store context. A queued run has not yet confirmed successful conversion.
UI guide
Use Create a Conversion task for the corresponding Currency Conversion and Rounding controls in Tasks.