# Welke velden vul ik waar in? Gebruik dit overzicht als startpunt. Kies de handeling die je wilt uitvoeren en open de bijbehorende veldtabel. Elke handleiding geeft aan wat verplicht is, waar je het invult, welke waarden zijn toegestaan en wat je terugkrijgt. Op een smal scherm kun je de tabellen zijwaarts schuiven. ## In de console | Wat wil je doen? | Wat vul je in? | Uitleg | | --- | --- | --- | | Een nieuwe organisatie registreren | Eerst e-mailadres en wachtwoord; na bevestiging bedrijf, adres en contactpersoon; als laatste 2FA | [Registratievelden](/account/#velden-bij-account-aanmaken) | | Inloggen | E-mailadres en bestaand wachtwoord; daarna authenticator- of herstelcode | [Inlogvelden](/account/#velden-bij-inloggen) | | Je authenticator instellen | De actuele zescijferige code na het scannen van de QR-code | [2FA-velden](/tweestapsverificatie/#wat-vul-je-in) | | Een wachtwoord herstellen | Eerst je e-mailadres; via de ontvangen link je nieuwe wachtwoord | [Herstelvelden](/account/#velden-bij-wachtwoordherstel) | | Een API-key aanmaken | Naam, type en één of meer rechten | [Keyvelden en voorbeelden](/api-keys/#velden-van-een-nieuwe-key) | | Een key intrekken | Kies de juiste bestaande key en klik op Intrekken | [Intrekken](/api-keys/#een-key-intrekken) | | Verbruik bekijken | Geen invoervelden; open API-gebruik | [Kolommen en totalen](/api-gebruik/) | Je logt in op de console. Je koppeling gebruikt een API-key bij aanvragen aan `https://api.vlows.io`. > Nieuwe conceptaccounts krijgen alleen portal, keybeheer en gebruiksinzage. Onderstaande leveringsfuncties vereisen afzonderlijk beschikbare producttoegang én de juiste keyrechten. ## Bij een API-aanvraag Een aanvraag kan invoer op vier plaatsen hebben. Dit onderscheid voorkomt dat je de goede waarde op de verkeerde plek meestuurt. | Plaats | Betekenis | Voorbeeld | | --- | --- | --- | | Header | Toegang of verwerking van de aanvraag | `Authorization: Bearer ` | | URL-pad | Welk object of welke functie je aanspreekt | `/parcels/` | | Queryparameter | Filter of periode achter `?` in de URL | `?limit=25&status=2` | | JSON-body | Gegevens die je opslaat of laat controleren | `{"parcel_weight":1200}` | Zie [Aanvragen opbouwen](/aanvragen-opbouwen/) voor headers, JSON, tijdstippen en voorbeelden van veelgemaakte fouten. ## Leveringen | Handeling | Methode en pad | Benodigde invoer | Veldgids | | --- | --- | --- | --- | | Aanmaken | `POST /deliveries/v1/parcels` | Body met `courier`, `country`, `postal_code`, `number`; optioneel aanvullende velden. Header `Idempotency-Key`. | [Aanmaken](/leveringen/#een-levering-aanmaken), [alle 41 velden](/pakketvelden/) | | Lijst opvragen | `GET /deliveries/v1/parcels` | Optionele query: `limit`, `cursor`, `status`, `courier`. Geen body. | [Filters en paginering](/leveringen/#lijstfilters-en-paginering) | | Eén levering lezen | `GET /deliveries/v1/parcels/{id}` | Ontvangen `entry_id` in het pad. Geen body. | [Detail en ID](/leveringen/#een-levering-opvragen) | | Wijzigen | `PATCH /deliveries/v1/parcels/{id}` | ID in het pad, actuele `If-Match`-header, alleen toegestane wijzigingen in de body. | [Wijzigen](/leveringen/#een-levering-wijzigen) | | Voortgang melden | `POST /deliveries/v1/parcels/{id}/events` | ID, `Idempotency-Key`, body met `status` en `occurred_at`. | [Gebeurtenisvelden](/gebeurtenissen/#velden-voor-een-gebeurtenis) | | Bezorgpoging melden | `POST /deliveries/v1/parcels/{id}/attempts` | ID, `Idempotency-Key`, body met `time_attempt`, `outcome`, eventueel `reason` en `delivered`. | [Pogingvelden](/gebeurtenissen/#velden-voor-een-bezorgpoging) | | Historie lezen | `GET /deliveries/v1/parcels/{id}/events` of `/attempts` | ID in het pad. Geen body of instelbare paginering. | [Historie](/gebeurtenissen/#geschiedenis-uitlezen) | Elke aanvraag heeft ook de `Authorization`-header nodig. Schrijven vereist `deliveries:write`; lezen vereist `deliveries:read`. Een schrijfkey heeft niet automatisch leesrechten. ## Adressen en oracle | Handeling | Methode en pad | Benodigde invoer | Veldgids | | --- | --- | --- | --- | | Adres controleren | `POST /deliveries/v1/address/validate` | Body met `postal_code`, `number` en optioneel `addition`. | [Adresvelden](/adressen/#invoervelden) | | Referentiecodes lezen | `GET /deliveries/v1/reference` | Alleen je API-key; geen padwaarden, query of body. | [Codes en eenheden](/pakketvelden/#service--en-locatiecodes) | | Activiteit opvragen | `GET /deliveries/v1/oracle/activity` | Query `pc4`, `from` en `to`. | [Oracle-velden](/oracle/#invoervelden) | | Planning opvragen | `GET /deliveries/v1/oracle/planned` | Query `pc4`, `from` en `to`. | [Oracle-velden](/oracle/#invoervelden) | | Dekking bekijken | `GET /deliveries/v1/oracle/coverage` | Alleen je API-key; geen periode of postcode nodig. | [Dekking](/oracle/#dekking-opvragen) | Adrescontrole vereist `deliveries:write`, referentiecodes `deliveries:read` en oracle `oracle:read`. ## Gegevens lezen zonder extra invoervelden | Methode en pad | Scope | Antwoord in `data` | | --- | --- | --- | | `GET /account/v1/couriers` | `deliveries:read` | Lijst van geregistreerde vervoerders met `code` en `name`. | | `GET /account/v1/overview` | `deliveries:read` | Organisatietotalen: `total`, `active`, `delivered`, `failed`, `matched`, `couriers`, `keys`. | | `GET /account/v1/usage` | `usage:read` | Dagtotalen met `day`, `route`, `requests`, `units`, `errors`. | | `GET /account/v1/usage/requests` | `usage:read` | Recente aanvragen met `request_id`, `created_at`, `key_id`, `key_name`, `route`, `status`, `units`. | Deze vier aanvragen hebben alleen je API-key nodig. Ze gebruiken je organisatie op basis van die key. Stuur geen organisatie-ID, e-mailadres, wachtwoord, datumbereik of JSON-body mee. De gebruiksperiode is vast ingesteld op 30 dagen. Bij `overview` telt `active` de statussen onderweg (2) en in bezorging (3), `matched` de leveringen met een eenduidig gevonden basisadres, en `keys` de nog geldige, niet ingetrokken keys. `total` telt alle eigen leveringen; `delivered` en `failed` tellen status 4 en 5. `couriers` telt geregistreerde vervoerders. ## Voor je verzendt Controleer de scope, de precieze veldnamen, tekst versus getal, eenheden en samenhangende velden. Stuur geen antwoordvelden zoals `entry_id`, `version` of `created_at` in een nieuwe levering. Een uitgebreide [voorbeeldlevering](/leveringen/#uitgebreid-voorbeeld) laat zien hoe de velden samenkomen.