Skip to main content

Article Placements

Frequency:

Article placements data changes are required to be sent in near real-time. Any change to the interface field in the external system should trigger the interface.

Expected data:

Article placements quantities and types in specific stores.

Placement types (identified by placement_type_id) are usually imported separately due to their limited number.

Technical:

If an article placement record does not exist in DSOrder, the record will be created.

If an article placement record already exists in DSOrder, the existing record will be updated with the new data.


Get Article Placements

Method: GET
URL: https://{url}/articles/placement/{date}/{store_id}

Retrieve article placements for a specific store and date.

Path Parameters

NameTypeRequiredDescription
datestringYesDate in format yyyy-mm-dd
store_idstringYesUnique store identifier in external system

Response Body

NameTypeRequiredDescription
article_idstringYesUnique article identifier in external system
quantitynumberYesPlacement quantity
type_idstringYesUnique placement type identifier in external system (list of available types must be configured in DSOrder)
placement_startdateYesPlacement start date in yyyy-mm-dd format
placement_enddateYesPlacement end date in yyyy-mm-dd format

Response

200: OK

[
{
"article_id": "ART-00001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]

Import Article Placements

Method: POST
URL: https://{url}/articles/placement

Create or update article placements.

Request Body

The request body is a JSON array of objects.

NameTypeRequiredDescription
article_idstringYesUnique article identifier in external system
store_idstringYesUnique store identifier in external system
quantitynumberYesPlacement quantity
type_idstringYesUnique placement type identifier in external system (list of available types must be configured in DSOrder)
placement_startdateYesPlacement start date in yyyy-mm-dd format
placement_enddateYesPlacement end date in yyyy-mm-dd format

Request Example

[
{
"article_id": "ART-00001",
"store_id": "STORE-0001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"store_id": "STORE-0001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]

Response

200: OK — Success

{
"success": true,
"message": null,
"data": null,
"warnings": []
}

200: OK — Error

{
"success": false,
"message": "Placement import failed",
"data": null,
"warnings": []
}

Delete Article Placements

Method: DELETE
URL: https://{url}/articles/placement

Delete existing article placements from DSOrder.

Request Body

The request body is a JSON array of objects.

NameTypeRequiredDescription
article_idstringYesUnique article identifier in external system
store_idstringYesUnique store identifier in external system
type_idstringYesUnique placement type identifier in external system (list of available types must be configured in DSOrder)
placement_startdateYesPlacement start date in yyyy-mm-dd format
placement_enddateYesPlacement end date in yyyy-mm-dd format

Request Example

[
{
"article_id": "ART-00001",
"store_id": "STORE-0001",
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"store_id": "STORE-0001",
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]

Response

200: OK — Success

{
"success": true,
"message": null,
"data": null,
"warnings": []
}