Aan de slag
Maak een API-token aan en lees je voorraad uit met één verzoek. Dat kost je ongeveer vijf minuten.
Maak een token aan
- Ga in Picked naar Instellingen → Developers → API-tokens. Om een token uit te geven heb je de permissie nodig om processen te bewerken. Eigenaren, beheerders en managers hebben die.
- Geef het token een naam waaraan je ziet welke koppeling het gebruikt, bijvoorbeeld
webshop-stock. - Vink het recht
stock:readaan en kies Token uitgeven. - Kopieer het token meteen. Picked toont het één keer en daarna nooit meer.
Bewaar het token in de geheimenopslag van je koppeling, niet in de code zelf. De voorbeelden op deze pagina's lezen het uit de omgevingsvariabele PICKED_TOKEN:
export PICKED_TOKEN="paste-your-token-here"
Doe je eerste aanroep
Kies de SKU van een product in je werkruimte en vraag de voorraad op:
curl "https://picked.nl/api/v1/stock?sku=YOUR-SKU" \
-H "Authorization: Bearer $PICKED_TOKEN" \
-H "Accept: application/json"
Picked antwoordt met de voorraad van het product, in totaal en per magazijn:
{
"sku": "BEL-ZW-01",
"quantity": 64,
"reserved": 6,
"available": 58,
"sellable": 52,
"warehouses": [
{
"code": "UTR",
"quantity": 64,
"reserved": 6,
"available": 58,
"sellable": 52
}
],
"_links": {
"self": { "href": "/api/v1/stock?sku=BEL-ZW-01" }
}
}
sellable is het getal dat je naar een webshop of marktplaats doorzet: de voorraad op verkooplocaties, min wat geaccepteerde orders al hebben vastgelegd. available is alles wat er ligt, min wat orderpickers hebben gereserveerd. Een SKU die Picked niet kent, geeft 404 met de code not_found.
Vind je magazijn-id's
Schrijfaanroepen zoals POST /api/v1/orders en POST /api/v1/receipts noemen een magazijn bij zijn warehouse_id. Vraag je magazijnen op om de id's te vinden; elk API-token mag dat, met welke rechten ook:
curl "https://picked.nl/api/v1/warehouses" \
-H "Authorization: Bearer $PICKED_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": 12,
"code": "UTR",
"name": "Utrecht"
}
],
"_links": {
"self": { "href": "/api/v1/warehouses" }
}
}
De code is die waarmee voorraadantwoorden het magazijn noemen. De pagina API-tokens toont dezelfde id's, bij de naam van het magazijn, naast de basis-URL. GET /api/v1/locations geeft je locaties op dezelfde manier, per pagina, met de location_id waarop voorraadwijzigingen filteren.
Dezelfde aanroep in PHP of JavaScript
PHP, met de curl-extensie die bij PHP hoort:
<?php
$curl = curl_init('https://picked.nl/api/v1/stock?sku=' . rawurlencode('YOUR-SKU'));
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('PICKED_TOKEN'),
'Accept: application/json',
],
]);
$body = json_decode((string) curl_exec($curl), true);
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
echo $status === 200
? "Sellable: {$body['sellable']}\n"
: "Error {$status}: {$body['code']}\n";
JavaScript, op Node.js 18 of nieuwer (sla het op als stock.mjs en start het met node stock.mjs):
const response = await fetch('https://picked.nl/api/v1/stock?sku=YOUR-SKU', {
headers: {
Authorization: `Bearer ${process.env.PICKED_TOKEN}`,
Accept: 'application/json',
},
});
const body = await response.json();
console.log(
response.ok
? `Sellable: ${body.sellable}`
: `Error ${response.status}: ${body.code}`,
);
Verder lezen
- Authenticatie en rechten: welk recht elk endpoint nodig heeft, en hoe je een token vervangt.
- Foutmeldingen: elke foutcode, en wat je koppeling ermee moet doen.
- Rate limits: hoeveel aanroepen je mag doen, en wat je doet als je erboven zit.
- API-referentie: elk endpoint met zijn parameters en antwoorden (Engelstalig).