Proefruns
Probeer een orderimport of een leveringsaanmelding uit op je echte gegevens, zonder iets te schrijven. Picked heeft geen aparte testmodus; met een proefrun test je een schrijfaanroep voordat hij telt.
Zo stuur je er een
Zet de header Picked-Dry-Run: true op POST /api/v1/orders of POST /api/v1/receipts:
curl -X POST "https://picked.nl/api/v1/orders" \
-H "Authorization: Bearer $PICKED_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Picked-Dry-Run: true" \
-d '{
"warehouse_id": 12,
"external_id": "WS-2026-104233",
"lines": [
{ "product_external_ref": "art-10021", "product_sku": "BEL-ZW-01", "quantity_ordered": 2 }
]
}'
Picked voert de aanroep echt uit, op de echte magazijnen, producten en orders van je werkruimte, en draait hem daarna terug. Er blijft niets over: geen order, geen voorlopig product, geen gereserveerde voorraad, niets op de werklijst van de orderpickers en niets doorgezet naar je verkoopkanalen.
Wat het antwoord zegt
Een proefrun antwoordt met 200 en de body die de echte aanroep zou hebben gegeven, plus twee velden:
| Veld | Betekenis |
|---|---|
dry_run |
Altijd true, zodat je het antwoord van een proefrun onderscheidt van een echt antwoord. |
would |
created als de echte aanroep een nieuwe order of ontvangst zou maken; already_exists als hij er een zou teruggeven die je eerder stuurde. |
{
"id": null,
"external_id": "WS-2026-104233",
"status": "pending",
"shipped_short": false,
"warehouse_id": 12,
"line_count": 1,
"provisioned_products": [],
"dry_run": true,
"would": "created"
}
De id's van alles wat alleen nog gemaakt zou worden, zijn null, want het bestaat niet: het id van de order of ontvangst, het product_id van een voorlopig product, de created_at van een ontvangst, en de reference van een ontvangst als je er geen meestuurde. Is would gelijk aan already_exists, dan krijg je de bestaande order of ontvangst met zijn echte id's. Wat alleen nog gemaakt zou worden, heeft nog geen _links en geen Location-header: er is niets om naar te wijzen.
Een onjuist verzoek mislukt precies zoals de echte aanroep zou mislukken: 422 met dezelfde errors. Daar is een proefrun vooral voor: uitzoeken of Picked je gegevens accepteert voordat ze tellen.
Wat een proefrun niet kan
Een proefrun controleert één aanroep. Een hele keten test je er niet mee:
- Je kunt niet teruglezen wat hij maakte:
GET /api/v1/receipts/{id}heeft geen id om op te vragen. - De order komt nooit in het magazijn aan, dus je kunt hem niet volgen door picken en verzenden.
- Aanroepen die op elkaar voortbouwen kun je niet aan elkaar rijgen, want de tweede ziet de eerste niet.
Test een hele keten met echte aanroepen zolang je werkruimte nog niet live is: voordat het magazijn in Picked werkt, pickt niemand je testorders. Ben je eenmaal live, vraag ons dan naar een aparte testwerkruimte.
Regels
- De header moet
trueoffalsezijn, en één keer meegestuurd. Elke andere waarde geeft400met de codebad_request, en er gebeurt niets. Zo wordt een typefout nooit een echte schrijfactie. falseis hetzelfde als de header weglaten: de aanroep is echt.- Alleen
POST /api/v1/ordersenPOST /api/v1/receiptsondersteunen hem.Picked-Dry-Run: trueop een andere schrijfaanroep, zoals een procesgebeurtenis, geeft400en doet niets. - Bij een leesaanroep verandert
trueniets: de aanroep loopt gewoon. - Een proefrun telt mee voor je rate limit, net als elke andere aanroep.
- Het verzoekenlogboek van het token markeert proefruns, zodat je ze van echte aanroepen kunt onderscheiden.