Article Assortments
Frequency:
Article assortment changes are required to be sent in near real-time. Any change to an interface field in the external system should trigger the interface.
Expected data:
Links between articles and assortments. An article can belong to multiple assortments.
Technical:
The article and the assortment must already exist in DSMDS.
POST creates the link if it does not exist yet. Existing links are left unchanged.
DELETE removes the link if it exists.
The article and the assortment must exist for the same client. A record whose article or assortment is not found is skipped with a warning; the other records are still processed.
If article_id is missing or null in any record, the whole request fails with 409 (for POST, nothing from the request is saved). An empty article_id produces an "article not found" warning; a missing assortment_id produces an "assortment not found" warning showing null.
POST https://{url}/articles/assortment/v1
Add articles to assortments.
Request Body
The request body is a JSON array of objects with the following fields.
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Article unique identifier in the external system |
| assortment_id | string | Yes | Assortment unique identifier in the external system |
Request Example
[
{
"article_id": "0001",
"assortment_id": "LPB-1"
},
{
"article_id": "0001",
"assortment_id": "LPB-2"
}
]
Response
200: OK — Success
{
"success": true,
"message": "",
"data": null,
"warnings": []
}
200: OK — Success with warnings
{
"success": true,
"message": null,
"data": null,
"warnings": [
"Article assortment not imported, assortment not found by external ID LPB-2",
"Article assortment not imported, article not found by external ID 0047"
]
}
200: OK — Error
{
"success": false,
"message": "Failed to map JSON",
"data": null,
"warnings": []
}
DELETE https://{url}/articles/assortment/v1
Remove articles from assortments.
Request Body
The request body is a JSON array of objects with the following fields.
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Article unique identifier in the external system |
| assortment_id | string | Yes | Assortment unique identifier in the external system |
Request Example
[
{
"article_id": "0001",
"assortment_id": "LPB-1"
}
]
Response
200: OK — Success
{
"success": true,
"message": "",
"data": null,
"warnings": []
}
200: OK — Success with warnings
{
"success": true,
"message": null,
"data": null,
"warnings": [
"Article assortment not deleted, article not found by external ID 0001",
"Article assortment not deleted, assortment not found by external ID LPB-2"
]
}
200: OK — Error
{
"success": false,
"message": "Failed to map JSON",
"data": null,
"warnings": []
}