ORDER
This page describes how Orders are exported from DJUST — as XML or JSON files dropped on your SFTP, or as JSON payloads pushed to your API — and details the exported structure and the available fields.
⚙️ Introduction
This job exports Orders from DJUST to an external system, via SFTP file drop or API Connector.
You can:
- Export a full snapshot of an Order Logistic and its Order Lines
- Choose the output format:
XMLorJSONfor SFTP,JSONfor the API Connector - Map each DJUST field to the body parameter expected by your system (API Connector only)
- Export the Custom Fields declared on Order Logistics and Order Lines
Order Data ModelIn DJUST, an Order is composed of two key components:
- Order Logistic: A logical grouping of one or more Order Lines
- Order Line: Represents a single purchased product, including its offer and quantity
One exported file — or one API payload — always contains a single Order Logistic with all its Order Lines.
Export triggerAn Order is exported when its Order Logistic reaches one of the trigger statuses configured on the job, the first time it reaches it. If the status does not change, no further export occurs — regardless of any other change on the Order.
Trigger statuses are selected when creating the export job: see Job Configuration - Export - FTP and Job Configuration - Export - API Connector. For the list of available statuses, see Order lifecycle and statuses.
📂 Export model
SFTP (XML / JSON)
Each exported file contains a single Order Logistic, including one or more associated Order Lines. The file is a full snapshot of the Order at the time of export, and captures:
- Order metadata (reference, timestamps, status)
- Customer, shipping and billing address snapshots
- Supplier information
- Pricing details, at Order Logistic and Order Line level
- Order Lines with product and variant metadata
- Custom Fields, if applicable
The output format (XML or JSON) and the file name format (Short or Standard) are set on the job configuration — see Job Configuration - Export - FTP.
Example - XML File
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Order xmlns="http://djust.com/export/type">
<createdAt>2025-03-24T14:32:31.824Z</createdAt>
<updatedAt>2025-03-24T15:25:26.674Z</updatedAt>
<reference>174-282-6749427-1</reference>
<id>0000033819</id>
<orderCommercialReference>174-282-6749427</orderCommercialReference>
<incidentDeclared>false</incidentDeclared>
<supplierSnapshot>
<name>XYZ</name>
<totalOffers>0</totalOffers>
<totalOrders>0</totalOrders>
<totalSales>0</totalSales>
<externalId>1234</externalId>
<paymentDueDate>
<paymentDueDateDelay>0</paymentDueDateDelay>
<paymentDueDateMode>SIMPLE</paymentDueDateMode>
</paymentDueDate>
</supplierSnapshot>
<shippingAddressSnapshot>
<externalId>e94da29f-e980-4afd-ae5b-6e933df6797e</externalId>
<country>France</country>
<label>Siège</label>
<fullName>M.Y</fullName>
<address>10 Rue Henner</address>
<additionalAddress></additionalAddress>
<city>Paris</city>
<state>Ile de France</state>
<zipcode>75009</zipcode>
<phone>060000000</phone>
</shippingAddressSnapshot>
<billingAddressSnapshot>
<externalId>e94da29f-e980-4afd-ae5b-6e933df6797e</externalId>
<country>France</country>
<label>Siège</label>
<fullName>M.Y</fullName>
<address>10 Rue Henner</address>
<additionalAddress></additionalAddress>
<city>Paris</city>
<state>Ile de France</state>
<zipcode>75009</zipcode>
<phone>060000000</phone>
</billingAddressSnapshot>
<customerUserSnapshot>
<accountExternalId>1284</accountExternalId>
<accountName>Y</accountName>
<accountTvaNumber>FR116545461231</accountTvaNumber>
<civility>MR</civility>
<firstName>John</firstName>
<lastName>Y</lastName>
<email>[email protected]</email>
</customerUserSnapshot>
<status>ACCEPTED_BY_SUPPLIER</status>
<paymentStatus>PAID</paymentStatus>
<payments>
<payment>
<amount>140.94</amount>
<transactionId>payin_m_01JQ4C4CG458102RSA1T6JRY5F</transactionId>
</payment>
</payments>
<paymentOption>CREDIT_CARD</paymentOption>
<orderLogisticPrices>
<totalShippingFees>0.0</totalShippingFees>
<totalItemPrice>117.45</totalItemPrice>
<totalOrderPrice>140.94</totalOrderPrice>
<totalTaxAmount>23.49</totalTaxAmount>
<totalPriceWithoutTax>117.45</totalPriceWithoutTax>
<totalPriceWithTax>140.94</totalPriceWithTax>
<totalShippingTaxAmount>0.0</totalShippingTaxAmount>
<totalShippingFeesWithoutTax>0.0</totalShippingFeesWithoutTax>
<totalShippingFeesWithTax>0.0</totalShippingFeesWithTax>
<totalProductTaxAmount>23.49</totalProductTaxAmount>
<totalProductWithoutTax>117.45</totalProductWithoutTax>
<totalProductWithTax>140.94</totalProductWithTax>
<currency>EUR</currency>
</orderLogisticPrices>
<lines>
<line>
<id>0000033820</id>
<quantity>1</quantity>
<orderLogisticLinePriceDto>
<price>117.45</price>
<itemPriceWithoutTaxes>117.45</itemPriceWithoutTaxes>
<taxRate>20.0</taxRate>
<taxAmount>23.49</taxAmount>
<priceWithTaxes>140.94</priceWithTaxes>
<type>ACCOUNT</type>
<typeValue>TEST SAGE</typeValue>
<itemPerPack>1</itemPerPack>
<quantityPerItem>1.0</quantityPerItem>
<externalSource>EXTERN</externalSource>
<currency>EUR</currency>
<packingType>UNIT</packingType>
<externalOfferId>RC-EX3A</externalOfferId>
<shippingPriceWithoutTaxes>0.0</shippingPriceWithoutTaxes>
<shippingTaxAmount>0.0</shippingTaxAmount>
<shippingPriceWithTaxes>0.0</shippingPriceWithTaxes>
<totalItemPrice>117.45</totalItemPrice>
<totalItemPriceWithTaxes>140.94</totalItemPriceWithTaxes>
<totalPriceWithTaxes>140.94</totalPriceWithTaxes>
<totalItemTaxAmount>23.49</totalItemTaxAmount>
<totalPriceWithoutTaxes>117.45</totalPriceWithoutTaxes>
<totalTaxes>23.49</totalTaxes>
</orderLogisticLinePriceDto>
<orderLogisticLineProductDto>
<name>RC-EX</name>
<externalId>RC-EX</externalId>
<classificationCategory>TELECOMANDE</classificationCategory>
<brand>MI</brand>
</orderLogisticLineProductDto>
<orderLogisticLineProductVariantDto>
<externalId>RC-EX</externalId>
<name>RC-EX</name>
<externalReference>RC-EX</externalReference>
<mainImageUrl>https://dam.pre-prod.djust-app.com/0000000085/12307/OZNRC_EX_bo.webp</mainImageUrl>
</orderLogisticLineProductVariantDto>
<incidentDeclared>false</incidentDeclared>
<customFieldValues/>
</line>
</lines>
<shippingType>STD</shippingType>
<partiallyDeclinedBySupplier>false</partiallyDeclinedBySupplier>
<customFieldValues>
<customField>
<externalId>datelivraison</externalId>
<type>DATE</type>
<simpleValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">2025-03-31</simpleValue>
</customField>
<customField>
<externalId>CMD</externalId>
<type>TEXT</type>
<simpleValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">TEST</simpleValue>
</customField>
<customField>
<externalId>REF_CHANTIER</externalId>
<type>TEXT</type>
<simpleValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">842</simpleValue>
</customField>
<customField>
<externalId>typelivraison</externalId>
<type>LIST_TEXT</type>
<listValue>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Classic</value>
</listValue>
</customField>
</customFieldValues>
</Order>Example - JSON File
{
"createdAt":"2024-05-28T15:01:29.000+00:00",
"updatedAt":"2024-05-28T15:01:29.430+00:00",
"reference":"171-690-8488913-1",
"externalId":null,
"orderCommercialReference":"171-690-8488913",
"incidentDeclared":"false",
"supplierSnapshot":{
"name":"Supplier DJUST",
"description":null,
"totalOffers":61,
"totalOrders":1698,
"totalSales":0,
"returnPolicy":null,
"externalId":"2007",
"paymentDueDate":{
"paymentDueDateDelay":5,
"paymentDueDateMode":"END_OF_MONTH"
}
},
"shippingAddressSnapshot":{
"externalId":"e1c60d99-b5bc-4ae3-9009-61aceddd3b4d",
"country":"France",
"label":"",
"fullName":"John Doe",
"address":"12 Rue de la Paix",
"additionalAddress":"",
"city":"Paris",
"state":"Ile-de-France",
"zipcode":"75002",
"phone":""
},
"billingAddressSnapshot":{
"externalId":"e1c60d99-b5bc-4ae3-9009-61aceddd3b4d",
"country":"France",
"label":"",
"fullName":"John Doe",
"address":"12 Rue de la Paix",
"additionalAddress":"",
"city":"Paris",
"state":"Ile-de-France",
"zipcode":"75002",
"phone":""
},
"customerUserSnapshot":{
"accountExternalId":"39d6f200-4bdb-436b-b12f-f160fa8f9fba",
"accountName":"ACME Industries",
"accountTvaNumber":"",
"civility":"MR",
"firstName":"John",
"lastName":"Doe",
"email":"[email protected]"
},
"status":"WAITING_CUSTOMER_APPROVAL",
"paymentStatus":"AUTHORIZED",
"paymentOption":"DIRECT_PAYMENT",
"orderLogisticPrices":{
"totalShippingFees":5.75,
"totalItemPrice":8.49,
"totalOrderPrice":9.94,
"totalTaxAmount":1.45,
"totalPriceWithoutTax":8.49,
"totalPriceWithTax":9.94,
"totalShippingTaxAmount":0.75,
"totalShippingFeesWithoutTax":5.0,
"totalShippingFeesWithTax":5.75,
"totalProductTaxAmount":0.7,
"totalProductWithoutTax":3.49,
"totalProductWithTax":4.19,
"currency":"EUR"
},
"initialPrice":null,
"lines":{
"line":[
{
"id":"0002617149",
"quantity":1,
"orderLogisticLinePriceDto":{
"price":3.49,
"itemPriceWithoutTaxes":3.49,
"taxRate":20.0,
"taxAmount":0.7,
"priceWithTaxes":4.19,
"type":"PUBLIC",
"typeValue":null,
"itemPerPack":1,
"quantityPerItem":1.0,
"externalSource":"MIRAKL",
"currency":"EUR",
"packingType":"UNIT",
"externalOfferId":"2034",
"taxInformation":null,
"shippingPriceWithoutTaxes":5.0,
"shippingTaxAmount":0.75,
"shippingPriceWithTaxes":5.75,
"totalItemPrice":3.49,
"totalItemPriceWithTaxes":4.19,
"totalPriceWithTaxes":9.94,
"totalItemTaxAmount":0.7,
"totalPriceWithoutTaxes":8.49,
"totalTaxes":1.45
},
"orderLogisticLineProductDto":{
"name":"L20 Smooth body medium-neck basin mixer, Cold Start, XL handle",
"externalId":"27ae19af-bed7-4520-b18b-8abe04973bfa",
"classificationCategory":"Basin",
"brand":"Roca"
},
"orderLogisticLineProductVariantDto":{
"externalId":"27ae19af-bed7-4520-b18b-8abe04973bfa",
"name":"L20 Smooth body medium-neck basin mixer, Cold Start, XL handle",
"externalReference":"27ae19af-bed7-4520-b18b-8abe04973bfa",
"gtin":null,
"mpn":null,
"mainImageUrl":"https://dam.test.djust-app.com/0000000002/10839/637216128ce4f918f246bf0bca13325_bo.webp"
},
"status":null,
"incidentDeclared":"false",
"paymentStatus":null,
"customFieldValues":{
"customField":[
]
}
}
]
},
"orderOrigin":"CART",
"shippingType":"STD",
"partiallyDeclinedBySupplier":"false",
"customFieldValues":{
"customField":[
]
}
}
No field mapping on SFTP exportsThe SFTP export is not mapped field by field: DJUST always delivers the complete Order snapshot shown above. Field mapping only applies to the API Connector export.
API Connector
The API Connector pushes one JSON payload per Order Logistic to your endpoint. Unlike the SFTP export, the content of the payload is defined by the mapping configured on the job: each DJUST field is mapped to the body parameter expected by your API.
Example – Order - JSON Export
{
"reference": "172-189-1896838-1",
"accountExternalId": "1234",
"supplierExternalId": "4567",
"createdAt": "2024-06-04T10:30:00Z",
"orderLines": [
{
"orderLineId": "7894",
"offerPriceExternalId": "6549",
"variantExternalId": "SKU123",
"quantityPerItem": "2",
"gtin": "17244701",
"quantity": 2
}
]
}📋 Fields
The fields below are the DJUST fields available in the mapping panel of an API Connector export job. The keys shown in the example above are the DJUST default names — map each of them to the name expected by your API.
Order Logistic level
| Field | Definition |
|---|---|
reference | Internal unique ID of the Order Logistic |
accountExternalId | External unique ID of the Account |
supplierExternalId | External identifier of the supplier handling the logistic |
createdAt | Timestamp when the Order Logistic was created |
updatedAt | Timestamp of the last update of the Order Logistic |
orderLines | List of ordered items in the Order Logistic |
Order Line level
| Field | Definition |
|---|---|
orderLineId | Internal unique ID of the Order Line |
orderLineExternalId | External unique ID of the Order Line |
offerPriceExternalId | External unique ID of the Offer Price |
variantExternalId | External unique ID of the Product Variant |
gtin | GTIN of the Product Variant |
quantity | Quantity of the product ordered |
quantityPerItem | Number of items per article |
Additional fields may be available depending on your configuration — such as the Store of the Order or the Offer External Id. The Mapping tab of the export job always shows the exhaustive list of DJUST fields you can map.
Custom FieldsCustom Fields declared on Order Logistics and Order Lines can be exported as well, upon request.
🧠 Key Business Rules
- An Order Logistic is exported only once per status. Reaching the same status again does not trigger a new export.
- Only status changes trigger an export. Any other update on the Order (quantity, price, custom field…) does not.
- Exporting the same Order several times for the same status is only possible for
DRAFT_ORDER_ON_HOLD, and is available upon request. - Only one destination per export job: one SFTP folder, or one API endpoint.
- Exported data cannot be filtered by account or store. An export job can however be scoped to one or several suppliers — see Job Configuration - Export - FTP.
- The lead-time-to-ship is included in exported Orders, in both XML and JSON formats.
- Every generated file is archived before delivery and can be downloaded afterwards to verify what was actually sent.
Best Practices✔️ Select only the statuses your system really consumes — one export is sent per Order and per status
✔️ On the API Connector, map the Order Line identifier your system uses (
orderLineIdororderLineExternalId) so that incident and status feedback can be reconciled✔️ Request the Custom Fields you need before going live — they are not exported by default
Updated 5 days ago

