OFFER
This page introduces Offer imports in DJUST. It explains the overall logic, the data structure, and the expected fields. format for creating and updating Offer Stocks and Offer Prices
⚙️ Introduction
This job allows the creation and update of Offers (stocks and prices) via CSV import or API Connector.
You can:
- Create and update Offer Stocks
- Create and update Offer Prices
- Deactivate or delete stocks and prices
- Define pricing rules including price ranges and offer types
📂 Import model
CSV Structure
The CSV file must contain one row per Offer Stock / Offer Price combination.
Template CSVYou can use the following spreadsheet as a template to structure your import:
API Connector
When using the API Connector, DJUST does not receive a JSON payload directly. Instead, the job executes a 3-step file generation flow:
- Call 1 — File generation (
POST /offer/file/generate): triggers the generation of a CSV file on the external system. AsinceUpdateDateTimeparameter can be passed to retrieve only records updated since the last job execution. - Call 2 — Status polling (
GET /offer/file/status): polls the external system until the file is ready. The job retries until thestatusFileattribute returnsAVAILABLE. - Call 3 — File download (
GET $.urlFile): retrieves the URL returned by Call 2 and downloads the CSV file for processing.
NoteThe API Connector processes the same CSV format as the SFTP import. The difference lies only in how the file is retrieved — via API calls rather than from an FTP server.
📋 Fields
| Field | Definition | Required for creation | Required for update | Editable | Default Value |
|---|---|---|---|---|---|
Stock Id | Unique external identifier of the Offer Stock | ✅ | ✅ | ||
Stock Variant Id | External identifier of the product variant associated with the stock | ✅ | ✅ | ||
Supplier Id | External identifier of the supplier associated with the stock | ✅ | ✅ | ||
Stock Number | Available stock quantity | ✅ | ✅ | ✅ | |
Quantity Per Pack | Number of units per pack | ✅ | |||
Currency | Currency code for the offer (e.g. EUR, USD) | ✅ | EUR | ||
Minimum Order Quantity | Minimum quantity that can be ordered | ✅ | |||
Maximum Order Quantity | Maximum quantity that can be ordered | ✅ | |||
Lead Time To Ship | Processing time before the order is shipped | ✅ | |||
Minimum Shipping Price | Minimum shipping cost for this stock | ✅ | |||
Minimum Shipping Price Additional | Additional minimum shipping fees | ✅ | |||
Minimum Stock Alert | Stock quantity threshold that triggers a low-stock alert | ✅ | |||
Minimum Shipping Type | Minimum shipping method associated with this stock | ✅ | |||
Minimum Shipping Zone | Minimum shipping zone associated with this stock | ✅ | |||
Packing Type | Packaging type (e.g. BOX, UNIT) | ✅ | |||
Delete Stock | Deletes the Offer Stock | ✅ | FALSE | ||
Active Stock | Activates or deactivates the Offer Stock | ✅ | TRUE | ||
Stock Available Start Date | Start date of the stock availability period | ✅ | |||
Stock Available End Date | End date of the stock availability period | ✅ | |||
Enable Quote Requests | Allows quote requests to be made on this stock | ✅ | |||
Price Id | Unique external identifier of the Offer Price | ✅ | ✅ | ||
Price Quantity Per Item | Reference quantity used for unit price calculation | ✅ | |||
Price Ranges | Price tiers defining graduated pricing by ordered quantity. Must include a range for quantity 1 | ✅ | ✅ | ✅ | |
Offer Type | Defines the pricing audience: PUBLIC, ACCOUNT, or GROUP | ✅ | |||
Customer Account External Id | External identifier of the account targeted by the price. ☑️ Required if Offer Type = ACCOUNT | ☑️ | ✅ | ||
Customer Tag | Customer tag targeted by the price. ☑️ Required if Offer Type = GROUP | ☑️ | ✅ | ||
Delete Price | Deletes the Offer Price | ✅ | FALSE | ||
Active Price | Activates or deactivates the Offer Price | ✅ | TRUE |
Conditionally required
Required Custom FieldsAny custom fields configured as required in DJUST must also be included.
🧠 Key Business Rules
- An Offer is composed of two linked objects: an Offer Stock (identified by
Stock Id) and an Offer Price (identified byPrice Id). An Offer Price must always be linked to an existing Offer Stock. Price Rangesmust always include a range for quantity1. Graduated pricing (volume discounts) can be defined by adding additional ranges.Offer Typedetermines the pricing audience:PUBLICapplies to all buyers;ACCOUNTrestricts the price to a specific customer account (Customer Account External Idrequired);GROUPrestricts the price to a customer tag (Customer Tagrequired).- Setting
Delete StocktoTRUEremoves the Offer Stock and all associated Offer Prices. - Setting
Delete PricetoTRUEremoves only the targeted Offer Price, without affecting the stock. - Setting
Active StocktoFALSEdeactivates the stock and makes it invisible to buyers without deleting it. - Empty fields in standard columns do not delete recorded values.
- Empty fields in Custom Fields delete the recorded values.
Best Practices✔️ Always include a
Price Rangefor quantity1to avoid import errors.✔️ Ensure
Customer Account External IdorCustomer Tagis provided when usingACCOUNTorGROUPoffer types.
Updated about 17 hours ago
