Preadviezen (ASN)
Beheer inbound preadviezen (Advanced Shipping Notices). Een preadvies bevat informatie over een verwachte levering van een leverancier.
Endpoints
| Methode | Pad | Beschrijving |
|---|---|---|
GET | /preadvices | Alle preadviezen ophalen |
POST | /preadvices | Preadvies aanmaken (incl. regels) |
GET | /preadvices/:id | Specifiek preadvies ophalen (incl. regels) |
PUT | /preadvices/:id | Preadvies bijwerken |
DELETE | /preadvices/:id | Preadvies verwijderen (incl. regels) |
POST | /preadvices/:id/close | Preadvies afsluiten |
GET | /preadvices/:id/lines | Preadviesregels ophalen |
POST | /preadvices/:id/lines | Preadviesregels toevoegen |
GET | /preadvices/:id/lines/:line_id | Specifieke preadviesregel ophalen |
PUT | /preadvices/:id/lines/:line_id | Preadviesregel bijwerken |
DELETE | /preadvices/:id/lines/:line_id | Preadviesregel verwijderen |
Alleen preadviezen van de eigen opdrachtgever
Een API key die aan een opdrachtgever gekoppeld is, en een gebruiker van het klantportaal, werken alleen met preadviezen van die opdrachtgever:
GET /preadvicestoont alleen de preadviezen van die opdrachtgever.- Elk endpoint op
/preadvices/:id(ophalen, bijwerken, verwijderen, afsluiten en de regels) geeft404als het preadvies bij een andere opdrachtgever hoort, of geen opdrachtgever heeft. Dat is hetzelfde antwoord als voor een preadvies dat niet bestaat. - Wie een andere
client_idmeestuurt, in de body of als filter, krijgt403.
Voor een API key of gebruiker zonder opdrachtgever geldt geen beperking.
Alle preadviezen ophalen
GET /preadvices
Query parameters
| Parameter | Beschrijving |
|---|---|
client_id | Alleen preadviezen van deze opdrachtgever. Voor een API key of portaalgebruiker met opdrachtgever is dit altijd de eigen opdrachtgever; een andere waarde geeft 403 |
Response 200 OK
[
{
"id": 1,
"pre_advice_id": "PA-001",
"client_id": "CLIENT01",
"pre_advice_status": {
"id": 1,
"description": "Released"
},
"pre_advice_status_description": "Released",
"supplier": {
"id": 3,
"name": "Leverancier BV - Rotterdam"
},
"supplier_id": 3,
"creation_datetime": "14-03-2026 10:00:00",
"created_by": "admin"
}
]
Preadvies aanmaken
POST /preadvices
Request
{
"pre_advice_id": "PA-001",
"supplier": 3,
"client_id": "CLIENT01",
"lines": [
{
"sku_id": "SKU-001",
"qty": 100,
"pallet_id": "PLT-001",
"client_id": "CLIENT01"
},
{
"sku_id": "SKU-002",
"qty": 50,
"pallet_id": "PLT-001"
}
]
}
Preadvies header velden
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
pre_advice_id | string | ✅ | Uniek preadvies ID |
supplier | number | Nee | ID van de leverancier (uit /suppliers) |
client_id | string | Nee | De opdrachtgever van het preadvies. Zie Opdrachtgever van het preadvies hieronder |
lines | array | Nee | Preadviesregels |
Preadviesregel velden
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
sku_id | string | ✅ | Artikel-ID |
qty | number | ✅ | Verwacht aantal |
line | number | Nee | Regelnummer (auto-generated indien weggelaten) |
pallet_id | string | Nee | Pallet ID (voor pallet-ontvangst) |
client_id | string | Nee | Opdrachtgever op regelniveau. Zonder waarde geldt de opdrachtgever van het preadvies |
Opdrachtgever van het preadvies
In een fulfilmentmagazijn hoort elk preadvies bij een opdrachtgever (client_id). Die volgt uit wie het preadvies aanmaakt, net als bij orders:
- Een API key die aan een opdrachtgever gekoppeld is, of een gebruiker van het klantportaal: het preadvies en al zijn regels krijgen altijd die opdrachtgever.
client_idhoeft niet meegestuurd te worden; wie een andere opdrachtgever meestuurt, in de header of op een regel, krijgt403. - Een API key of gebruiker zonder opdrachtgever: het preadvies krijgt de
client_iduit het request. Die moet op de site bestaan, anders volgt400. Een regel zonder eigenclient_idkrijgt de opdrachtgever van het preadvies.
Response 204 No Content
Succesvol aangemaakt. Het preadvies en zijn regels worden samen opgeslagen: mislukt er iets, dan wordt niets opgeslagen en kan hetzelfde request opnieuw worden verstuurd.
Response 400 Bad Request
client_id bestaat niet op de site, of lines is geen lijst. Er wordt dan niets opgeslagen:
{
"message": "Ongeldig pre-advies",
"errors": [
{ "field": "client_id", "message": "client_id andereklant bestaat niet op deze site" }
]
}
Response 403 Forbidden
De API key of gebruiker hoort bij een andere opdrachtgever dan de meegestuurde client_id:
{
"message": "Geen toegang tot client andereklant"
}
Response 409 Conflict
{
"message": "PreAdvice with PreAdviceID PA-001 already exists"
}
Specifiek preadvies ophalen
GET /preadvices/:id
Response 200 OK
{
"pre_advice_id": "PA-001",
"client_id": "CLIENT01",
"pre_advice_status": {
"id": 1,
"description": "Released"
},
"supplier": {
"id": 3,
"name": "Leverancier BV - Rotterdam"
},
"creation_datetime": "14-03-2026 10:00:00",
"created_by": "admin",
"lines": [
{
"pre_advice_id": "PA-001",
"line": 1,
"sku_id": "SKU-001",
"qty": 100,
"qty_received": 0,
"pallet_id": "PLT-001",
"client_id": "CLIENT01"
}
]
}
Response 404 Not Found
Het preadvies bestaat niet, of hoort bij een andere opdrachtgever:
{
"message": "PreAdvice with PreAdviceID PA-001 not found"
}
Preadvies bijwerken
PUT /preadvices/:id
Request
{
"supplier": 4,
"client_id": "CLIENT02"
}
Met een API key of portaalgebruiker die aan een opdrachtgever gekoppeld is, blijft het preadvies bij die opdrachtgever, ook als client_id ontbreekt; een andere client_id geeft 403.
Response 204 No Content
Response 403 Forbidden
{
"message": "Geen toegang tot client CLIENT02"
}
Response 404 Not Found
Het preadvies hoort bij een andere opdrachtgever.
Preadvies verwijderen
DELETE /preadvices/:id
Verwijdert het preadvies inclusief alle regels.
Response 204 No Content
Response 404 Not Found
Het preadvies hoort bij een andere opdrachtgever.
Preadvies afsluiten
POST /preadvices/:id/close
Sluit een preadvies af, ook als nog niet alles ontvangen is: de status gaat naar Complete (3). Gebruik dit als een levering compleet is verklaard terwijl er regels open staan. Een webhook preadvice_status meldt de wijziging.
Statussen van een preadvies:
id | Status | Betekenis |
|---|---|---|
| 1 | Released | Aangemaakt, nog niets ontvangen |
| 2 | In progress | De ontvangst is begonnen |
| 3 | Complete | Volledig ontvangen of afgesloten |
Er is geen body nodig.
Response 200 OK
{
"message": "Preadvies afgesloten."
}
Response 400 Bad Request
Het preadvies is al afgesloten:
{
"message": "Dit preadvies is al afgesloten."
}
Response 404 Not Found
Het preadvies bestaat niet, of hoort bij een andere opdrachtgever:
{
"message": "Preadvies niet gevonden."
}
Preadviesregels toevoegen
POST /preadvices/:id/lines
Request
{
"sku_id": "SKU-003",
"qty": 200,
"pallet_id": "PLT-002",
"client_id": "CLIENT01"
}
U kunt ook een lijst regels in één keer sturen. Een regel zonder line krijgt het volgende regelnummer. Voor de opdrachtgever geldt hetzelfde als bij het aanmaken: met een API key of portaalgebruiker die aan een opdrachtgever gekoppeld is, krijgen de regels die opdrachtgever en geeft een andere client_id 403.
Response 204 No Content
Response 403 Forbidden
{
"message": "Geen toegang tot client andereklant"
}
Response 404 Not Found
Het preadvies hoort bij een andere opdrachtgever.
Preadviesregel bijwerken
PUT /preadvices/:id/lines/:line_id
Request
{
"sku_id": "SKU-003",
"qty": 250,
"pallet_id": "PLT-002",
"client_id": "CLIENT01"
}
Voor de opdrachtgever geldt hetzelfde als bij Preadvies bijwerken: met een gekoppelde opdrachtgever blijft de regel bij die opdrachtgever en geeft een andere client_id 403.
Response 204 No Content
Response 403 Forbidden
{
"message": "Geen toegang tot client andereklant"
}
Response 404 Not Found
Het preadvies hoort bij een andere opdrachtgever.
Preadviesregel verwijderen
DELETE /preadvices/:id/lines/:line_id
Response 204 No Content
Response 404 Not Found
Het preadvies hoort bij een andere opdrachtgever.