Job Configuration - Export - API Connector

This documentation describes how to configure an Export Job using the API Connector to push data to an external REST API in JSON format.


✅ Prerequisites

Before creating an export job, ensure you have:


⚙️ API Export Job Configuration

Creation

To configure an export job from the DJUST back office:

Step 1 – Access the Data Hub

  1. Go to the Data Hub section.
  2. Click + Create a new job.
  3. Select Export.

Step 2 – Job configuration

Basic information

  • Job name (must be unique)
  • Export method: API Client
  • Client Connection
  • Object to export: e.g. Order
  • Trigger status(es)
💡

Trigger Status

When an entity reaches one of the selected statuses for the first time, an export is triggered. If the status remains unchanged, no further export will occur — regardless of whether there are changes on the entity or not.

For more details about Order statuses, refer to this page: Order lifecycle and statuses.

💡

Allow export multiple times for a same status

Only available for status ORDER_DRAFT_ON_HOLD

It is possible to export the same order multiple times for the status ORDER_DRAFT_ON_HOLD.

Available upon request.

Api calls

  • Configure the API calls that DJUST will use to push data to your system.
  • Choose the HTTP method that matches your endpoint's requirements.
  • Define optional query parameters

Mapping

  • Map each field from DJUST field to your API body parameter to ensure proper alignment.
💡

For more details on how to configure mappings for each data entity, refer to:



Manage and Update

Once your API export job is created, you can manage it via the Data Hub interface:

  1. Go to Data Hub > Export section.
  2. Locate the job to update.
  3. Click the ⚙️ icon to open the configuration.

Update

You can update the following settings:

  • Client Connection
  • Trigger status(es)
  • API endpoint, HTTP method and query parameters

Delete

  • Select Delete job and confirm (⚠️ This action is irreversible)

📄 Exported JSON Structure

Order

Payload structure

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

FieldDefinition
referenceInternal unique ID of the Order Logistic
accountExternalIdExternal unique ID of the Account
createdAtTimestamp when the Order Logistic was created
supplierExternalIdExternal identifier of the supplier handling the logistic
orderLinesList of ordered items in the Order Logistic
orderLineIdInternal unique ID of the Order Line
offerPriceExternalIdExternal unique ID of the Offer Price
variantExternalIdExternal unique ID of the Product Variant
quantityPerItemNumber of item per article
gtinGTIN
quantityQuantity of the product ordered
💡

Custom Fields

Custom Fields can be exported as well upon request

Incident

Payload structure

Example – Incident - JSON Export
{
 "orderIncidentId":"INCIDENT_1234",
 "orderIncidentExternalId":"4567",
 "orderReference":"172-189-1896838-1",
 "createdAt":"2024-06-04T10:30:00Z",
 "incidentStatus":"OPEN",
 "reasonCode":"RC001",
 "reasonDescription":"Broken product on delivery",
 "supplierExternalId":"SUPP_321",
 "accountExternalId":"ACC_777",
 "orderLineIncident":[
    {
       "orderLineId":"16841984844",
       "orderLineExternalId":"OLINE_5678",
       "incidentLineStatus":"OPEN",
       "variantExternalId":"489156",
       "incidentLineQuantity":1
    }
 ]
}

Fields

FieldDefinition
orderIncidentIdInternal unique identifier of the Incident
orderIncidentExternalIdExternal unique identifier of the Incident
orderReferenceInternal unique identifier of the related Order Logistic
createdAtTimestamp when the Order Logistic was created
incidentStatusStatus of the Incident at the Order Logistic level
reasonCodeCode that explains the reason of the incident
reasonDescriptionBuyer message related to the Incident
supplierExternalIdExternal ID of the Supplier
accountExternalIdExternal ID of the Account
orderLineIncidentList of affected Order Lines
orderLineIdInternal ID of the Order Line
orderLineExternalIdExternal ID of the Order Line
incidentLineStatusStatus of the Incident at the Order Line level
variantExternalIdExternal ID of the Product Variant ordered
incidentLineQuantityNumber of items concerned by the Incident at the Order Line level

🔁 Retry Logic

If the export fails (e.g., due to API unavailability or a 500 error), DJUST will:

  • Retry the export up to 5 times
  • Use a fixed interval of 15 minutes between retries

If all attempts fail, the job is marked as failed, and an operator should investigate.


🧠 Key Business Rules

  • The export is triggered only once per status per Order Logistic.
  • Only one endpoint per export job is supported.
  • No filtering by supplier, store, or account is available.