Skip to main content

Suppliers

Frequency:

Supplier master data 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:

Only active suppliers and their master data updates are expected to be reported.

If a supplier becomes inactive, this should be reported with is_active = false, and no further information exchange is expected for that supplier.

If a supplier becomes active again, the full supplier master data is expected to update the relevant information.

Technical:

If a supplier record does not exist in DSMDS, the record will be created.

If a supplier record already exists in DSMDS, the existing record will be updated with the new data.

Suppliers are matched by id within the organization.

An update replaces all supplier fields: an omitted supplier_registration_number or gln is cleared, and an omitted is_active makes the supplier inactive. Always send the full record.

A supplier with a missing or blank id is skipped with the warning Supplier data does not have an ID; the other suppliers are still processed.

Each supplier is saved separately. If a supplier fails (e.g., title is missing), the request fails with 409, but suppliers earlier in the array are already saved.


POST https://{url}/suppliers/v1

Create or update suppliers.

Request Body

The request body is a JSON array of objects with the following fields.

NameTypeRequiredDescription
idstringYesSupplier unique identifier in the external system, stable over time. Missing or blank: the supplier is skipped with a warning
titlestringYesSupplier name. Missing: the request fails with 409
supplier_registration_numberstringNoSupplier registration number. Cleared if omitted
glnstringNoGlobal Location Number. Cleared if omitted
is_activebooleanNoWhether the supplier is active. Defaults to false if omitted

Request Example

[
{
"id": "LPB-Sanitex",
"title": "Sanitex",
"supplier_registration_number": "40003000000",
"gln": "4750000000000",
"is_active": true
},
{
"id": "TL",
"title": "TL",
"is_active": true
}
]

Response

200: OK — Success

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

200: OK — Success with warnings

{
"success": true,
"message": null,
"data": null,
"warnings": [
"Supplier data does not have an ID"
]
}

200: OK — Error

{
"success": false,
"message": "Failed to map JSON",
"data": null,
"warnings": []
}