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:
- A configured API Client. See how to configure an API client.
- An endpoint ready to receive exported orders in your system.
⚙️ API Export Job Configuration
Creation
To configure an export job from the DJUST back office:
Step 1 – Access the Data Hub
- Go to the Data Hub section.
- Click + Create a new job.
- 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 StatusWhen 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 statusOnly 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:
- This page for the Order: Orders Export - API Connector.
Manage and Update
Once your API export job is created, you can manage it via the Data Hub interface:
- Go to Data Hub > Export section.
- Locate the job to update.
- 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
| Field | Definition |
|---|---|
reference | Internal unique ID of the Order Logistic |
accountExternalId | External unique ID of the Account |
createdAt | Timestamp when the Order Logistic was created |
supplierExternalId | External identifier of the supplier handling the logistic |
orderLines | List of ordered items in the Order Logistic |
orderLineId | Internal unique ID of the Order Line |
offerPriceExternalId | External unique ID of the Offer Price |
variantExternalId | External unique ID of the Product Variant |
quantityPerItem | Number of item per article |
gtin | GTIN |
quantity | Quantity of the product ordered |
Custom FieldsCustom 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
| Field | Definition |
|---|---|
orderIncidentId | Internal unique identifier of the Incident |
orderIncidentExternalId | External unique identifier of the Incident |
orderReference | Internal unique identifier of the related Order Logistic |
createdAt | Timestamp when the Order Logistic was created |
incidentStatus | Status of the Incident at the Order Logistic level |
reasonCode | Code that explains the reason of the incident |
reasonDescription | Buyer message related to the Incident |
supplierExternalId | External ID of the Supplier |
accountExternalId | External ID of the Account |
orderLineIncident | List of affected Order Lines |
orderLineId | Internal ID of the Order Line |
orderLineExternalId | External ID of the Order Line |
incidentLineStatus | Status of the Incident at the Order Line level |
variantExternalId | External ID of the Product Variant ordered |
incidentLineQuantity | Number 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 on exported data by account or store. However, export jobs can be configured with one or more suppliers, and the job listing API (
GET /v1/mapper/jobout) supports filtering bysupplierExternalIds(multi-value, OR logic).
Supplier Management on Export Jobs
Export jobs can be scoped to specific suppliers. In addition to the full replacement via PUT, two partial operations are available to manage suppliers without overwriting the entire job configuration:
Add suppliers — PATCH /v2/jobouts/{jobOutId}/suppliers — operationId: ADM-JOBOUT-200
- Merges the provided suppliers into the existing list. Duplicates are silently ignored.
- Body:
{ "supplierExternalIds": ["SUP-ACME-001", "SUP-BETA-002"] } - Response:
204 No Content - Access:
dj-client: OPERATOR
Remove suppliers — DELETE /v2/jobouts/{jobOutId}/suppliers — operationId: ADM-JOBOUT-300
- Removes the provided suppliers from the existing list. Absent suppliers are silently ignored.
- Body:
{ "supplierExternalIds": ["SUP-ACME-001"] } - Response:
204 No Content - Access:
dj-client: OPERATOR
Warning: If all suppliers are removed from an export job, the job exports orders for all suppliers (default behavior). ThesupplierExternalIdsfield must contain at least one element.
Important (v3.113): OnPOSTandPUTendpoints for export jobs, the fieldsuppliers(array of internal IDs) has been replaced bysupplierExternalIds(array of external IDs). The oldsuppliersfield is no longer accepted and returns a400error. OnGETendpoints, thesuppliersfield now returns an array of objects{ externalId, name }instead of an array of internal ID strings. The listing filtersupplierIdshas been renamed tosupplierExternalIds. The list of returned suppliers is filtered based on the stores accessible by the connected operator.
Deprecation:GET /v1/mapper/jobout/{jobOutId}is deprecated in favor ofGET /v2/mapper/jobout/{id}. Migrate to the v2 endpoint.
Updated 20 days ago
