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: XML or JSON for SFTP, JSON for 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 Model

In 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 trigger

An 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 exports

The 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

FieldDefinition
referenceInternal unique ID of the Order Logistic
accountExternalIdExternal unique ID of the Account
supplierExternalIdExternal identifier of the supplier handling the logistic
createdAtTimestamp when the Order Logistic was created
updatedAtTimestamp of the last update of the Order Logistic
orderLinesList of ordered items in the Order Logistic

Order Line level

FieldDefinition
orderLineIdInternal unique ID of the Order Line
orderLineExternalIdExternal unique ID of the Order Line
offerPriceExternalIdExternal unique ID of the Offer Price
variantExternalIdExternal unique ID of the Product Variant
gtinGTIN of the Product Variant
quantityQuantity of the product ordered
quantityPerItemNumber 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 Fields

Custom 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 (orderLineId or orderLineExternalId) so that incident and status feedback can be reconciled

✔️ Request the Custom Fields you need before going live — they are not exported by default


Did this page help you?