Ontvangst
Goederen ontvangen op een ontvangstlocatie. NextWMS maakt bij elke ontvangst een voorraadregel met een eigen tag en, als er een inruimlocatie gevonden wordt, een inruimtaak naar die locatie.
Endpoints
| Methode | Pad | Beschrijving |
|---|---|---|
POST | /receipt/normal | Ontvangst zonder preadvies |
POST | /receipt/pre-advice | Ontvangst op een regel van een preadvies |
POST | /receipt/pallet | Alle regels van een pallet uit een preadvies in één keer ontvangen |
Met een API key is het recht receipt met methode POST nodig (zie Authenticatie). Een gebruiker heeft het recht op het bijbehorende ontvangstscherm nodig (zie Rechten van gebruikers).
Transactie en webhook
Elke ontvangen voorraadregel krijgt een transactie Receipt en NextWMS verstuurt de webhook receipt, ook als er geen inruimlocatie gevonden wordt.
| Met inruimlocatie | Zonder inruimlocatie | |
|---|---|---|
| Voorraad | Op de ontvangstlocatie | Op de ontvangstlocatie |
| Inruimtaak | Naar de gevonden locatie | Geen |
Transactie Receipt | Van de ontvangstlocatie naar de inruimlocatie | Van de ontvangstlocatie; naar- en eindlocatie leeg |
Webhook receipt | Ja | Ja, met dezelfde velden |
De transactie heeft de opdrachtgever en de gebruiker die ontving (leeg bij een API key). Bij een ontvangst op preadvies of pallet staan het preadvies en het regelnummer erin.
Geen inruimlocatie betekent: er zijn geen inruimregels voor het artikel, of alle plekken in de zones van die regels zijn geblokkeerd voor inslag.
Ontvangst zonder preadvies
POST /receipt/normal
Voor leveringen die niet vooraf zijn aangekondigd.
Request
{
"sku_id": "SKU-001",
"loc_id": "ONTVANGST",
"qty": 5,
"expiry_date": "2028-06-30",
"client_id": "CLIENT01"
}
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
sku_id | string | ✅ | Artikel; moet bestaan voor de site |
loc_id | string | ✅ | Ontvangstlocatie; moet bestaan voor de site |
qty | number | ✅ | Aantal, groter dan 0 |
expiry_date | string | Nee | Houdbaarheidsdatum (YYYY-MM-DD) |
client_id | string | Bij fulfilment | Opdrachtgever die eigenaar is van de voorraad. Verplicht op een site met opdrachtgevers; anders genegeerd |
Response 200 OK
{
"message": "Ontvangst geregistreerd",
"content_id": 1001,
"tag": 5012
}
| Veld | Type | Beschrijving |
|---|---|---|
content_id | number | Id van de nieuwe voorraadregel |
tag | number | Tag van de ontvangen goederen; hiermee worden ze ingeruimd |
De voorraad staat daarna op de ontvangstlocatie met een inruimtaak naar de gevonden locatie, en NextWMS verstuurt de webhook receipt met receipt_type: "normal".
Vindt NextWMS geen inruimlocatie voor het artikel, dan is de melding Ontvangst geregistreerd (geen putaway locatie gevonden). De voorraad staat dan op de ontvangstlocatie, zonder inruimtaak. De transactie en de webhook komen er wel (zie Transactie en webhook).
Fouten
Bij een fout wordt niets ontvangen: er komt geen voorraadregel bij.
| Status | message | Oorzaak |
|---|---|---|
400 | SKU is niet gevuld. | sku_id ontbreekt |
400 | Ontvangstlocatie is niet gevuld. | loc_id ontbreekt |
400 | Aantal is niet gevuld. | qty ontbreekt of is 0 of lager |
400 | Client ID is niet gevuld. | client_id ontbreekt op een site met opdrachtgevers |
400 | Ontvangstlocatie '<loc_id>' is onbekend. | De locatie bestaat niet voor deze site |
400 | Artikel '<sku_id>' is onbekend. | Het artikel bestaat niet voor deze site |
403 | Geen recht op ontvangst |
Ontvangst op preadvies
POST /receipt/pre-advice
Request
{
"pre_advice_id": "PA-001",
"sku_id": "SKU-001",
"loc_id": "ONTVANGST",
"qty": 5
}
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
pre_advice_id | string | ✅ | Preadvies |
sku_id | string | ✅ | Artikel van een regel van het preadvies |
loc_id | string | ✅ | Ontvangstlocatie; moet bestaan voor de site |
qty | number | ✅ | Aantal, groter dan 0 |
De opdrachtgever komt van de regel of de kop van het preadvies. Het ontvangen aantal wordt bij de regel opgeteld en het preadvies gaat naar status In progress.
Response 200 OK
{
"message": "Pre-advice ontvangst geregistreerd",
"content_id": 1001,
"tag": 5012
}
Fouten
| Status | message | Oorzaak |
|---|---|---|
400 | PreAdviceID is niet gevuld. | pre_advice_id ontbreekt |
400 | SKU is niet gevuld. | sku_id ontbreekt |
400 | Ontvangstlocatie is niet gevuld. | loc_id ontbreekt |
400 | Aantal is niet gevuld. | qty ontbreekt of is 0 of lager |
404 | Geen pre-advice regel gevonden voor deze SKU. | Het preadvies heeft geen regel voor dit artikel |
400 | Dit preadvies is al afgesloten. Er kan niet meer op worden ontvangen. | Het preadvies heeft status Complete |
400 | Ontvangstlocatie '<loc_id>' is onbekend. | De locatie bestaat niet voor deze site |
400 | Artikel '<sku_id>' is onbekend. | Het artikel op de regel bestaat niet (meer) voor deze site |
403 | Meer ontvangen dan verwacht (...) is niet toegestaan. | Het totaal komt boven het aantal op de regel en de gebruikersgroep mag niet meer ontvangen dan verwacht |
Pallet-ontvangst
POST /receipt/pallet
Ontvangt in één keer alle preadviesregels met dit pallet_id, elk met het volledige aantal van de regel.
Request
{
"pallet_id": "PLT-001",
"loc_id": "ONTVANGST"
}
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
pallet_id | string | ✅ | Pallet uit een of meer preadviezen |
loc_id | string | ✅ | Ontvangstlocatie; moet bestaan voor de site |
Response 200 OK
{
"message": "Pallet ontvangst geregistreerd (2 regels)",
"receipts": [
{ "content_id": 1001, "tag": 5012, "sku_id": "SKU-001", "final_loc": "A-01-01" },
{ "content_id": 1002, "tag": 5013, "sku_id": "SKU-002", "final_loc": null }
]
}
final_loc is leeg (null) als er voor die regel geen inruimlocatie gevonden is. De webhook receipt (receipt_type: "pallet") bevat dezelfde lijst receipts.
Fouten
Als één regel een onbekend artikel heeft, wordt geen enkele regel van de pallet ontvangen.
| Status | message | Oorzaak |
|---|---|---|
400 | Pallet ID is niet gevuld. | pallet_id ontbreekt |
400 | Ontvangstlocatie is niet gevuld. | loc_id ontbreekt |
404 | Er zijn geen ontvangsten gevonden voor pallet ID <pallet_id> | Geen preadviesregel met dit pallet_id |
400 | Pallet <pallet_id> is al ontvangen. | Er is al op een regel van deze pallet ontvangen |
400 | Ontvangstlocatie '<loc_id>' is onbekend. | De locatie bestaat niet voor deze site |
400 | Artikel '<sku_id>' is onbekend. | Een artikel op de pallet bestaat niet (meer) voor deze site |