Koppelingen 5 min leestijd

PostNL koppeling bouwen.

Verzendlabels, track & trace, bezorgopties en afhaalpunten automatiseren via de PostNL API.

Jasper Koers · ·

In het kort

  • PostNL API automatiseert labels, tracking en bezorgopties volledig
  • Bezorgopties tonen in de checkout verhoogt klanttevredenheid
  • Webhooks geven real-time statusupdates zonder continu te pollen
  • Koppeling schaalt mee van enkele pakketten tot duizenden per dag
  • Test eerst in de sandbox, ga pas live met een aparte productiesleutel
  • Retries, logging en monitoring maken de koppeling betrouwbaar bij piekdrukte
PostNL

Waarom koppelen aan PostNL?

PostNL is verreweg de grootste pakketbezorger van Nederland. Met miljoenen pakketten per dag en het dichtste netwerk van afhaalpunten is PostNL voor veel webshops en bedrijven de primaire vervoerder. Maar naarmate je verzendvolumes groeien, wordt handmatig werken in het PostNL-portaal een knelpunt. Labels aanmaken, barcodes kopiëren, bezorgopties instellen — het kost steeds meer tijd en de kans op fouten neemt toe.

Een directe koppeling met de PostNL API automatiseert dit volledig. Je systeem communiceert rechtstreeks met PostNL: labels worden gegenereerd, track & trace-codes stromen terug naar je ordersysteem en je klanten ontvangen automatisch bezorgupdates. Het resultaat is een sneller, betrouwbaarder en schaalbaarder verzendproces.

Handmatig labels aanmaken kost niet alleen tijd; het schaalt niet. Elke minuut die je magazijnmedewerker besteedt aan kopiëren en plakken is een minuut die niet naar je klant gaat.

Wat biedt de PostNL API?

De PostNL API is uitgebreid en biedt toegang tot vrijwel alle diensten die PostNL aanbiedt:

  • Shipping API — Verzendlabels genereren voor binnenlandse en internationale zendingen. Inclusief ondersteuning voor brievenbuspakketten, standaard pakketten, verzekerdzendingen en grote volumes.
  • Track & trace — Realtime statusinformatie opvragen per barcode. Van aanmelding tot aflevering, inclusief verwachte bezorgdatum en eventuele uitzonderingen.
  • Bezorgopties — De Delivery Options API toont beschikbare bezorgopties op basis van postcode en datum: standaardbezorging, avondlevering, bezorging op afspraak en meer. Ideaal om in je checkout te tonen.
  • Afhaalpunten — Het netwerk van PostNL-punten opvragen op basis van locatie of postcode. Je klanten kunnen dan kiezen om het pakket op te halen bij een winkel in de buurt.
  • Retouren — Retourlabels aanmaken die je klant kan gebruiken om een pakket terug te sturen via elk PostNL-punt.
  • Statusupdates via webhooks — PostNL kan push-notificaties sturen bij statuswijzigingen, zodat je niet continu hoeft te pollen.

Hoe werkt de koppeling?

Met een PostNL-koppeling communiceert je systeem rechtstreeks met PostNL. Alle instellingen en testen worden eerst uitgevoerd in een veilige testomgeving, zodat er geen onbedoelde zendingen worden aangemaakt.

Op basis van het afleveradres, het gewicht en de gewenste bezorgopties wordt automatisch een verzendlabel gegenereerd dat direct geprint kan worden; ook op thermoprinters in het magazijn.

Een veelgebruikte toepassing is het tonen van bezorgopties in de checkout van je webshop. Op basis van de postcode en datum ziet je klant welke opties beschikbaar zijn: standaardbezorging, avondlevering of ophalen bij een PostNL-punt. De gekozen optie wordt automatisch verwerkt in het verzendlabel.

Bij grote verzendvolumes zorgt de koppeling er automatisch voor dat alles soepel verloopt, ook als er honderden labels tegelijk gegenereerd moeten worden. De verwerking loopt op de achtergrond, zodat je systeem altijd snel blijft.

Een goede PostNL-koppeling betaalt zichzelf terug zodra je meer dan een handvol pakketten per dag verstuurt. De tijdwinst is direct merkbaar.

Authenticatie, API-keys en de testomgeving

Voordat je systeem ook maar één label kan aanmaken, moet het zich bij PostNL identificeren. Dat gebeurt met een API-key: een unieke sleutel die fungeert als wachtwoord en die je meestuurt in de apikey-header van elk verzoek. PostNL-klanten vragen deze sleutel aan via het zakelijke portaal MijnPostNL, onder Mijn account > API's beheren, gekoppeld aan het juiste klantnummer (PostNL: How do I get an API key?).

Cruciaal is dat je nooit rechtstreeks in de productieomgeving begint te bouwen. PostNL biedt een aparte sandbox-omgeving die functioneel identiek is aan de live-omgeving en gevoed wordt met representatieve data. Sandbox-endpoints draaien onder een eigen domein (api-sandbox.postnl.nl) met een eigen testsleutel, zodat je labels, tracking en bezorgopties volledig kunt uitproberen zonder dat er echte zendingen of kosten ontstaan. Pas nadat het testtraject succesvol is afgerond en PostNL het integratieproces heeft bevestigd, ontvang je een productiesleutel (PostNL: van test naar productie).

In de praktijk betekent dit dat een nette koppeling beide omgevingen kent en de sleutels veilig opslaat — buiten de broncode, in versleutelde configuratie. Zo voorkom je dat een testlabel per ongeluk in productie belandt of dat een sleutel uitlekt.

Internationale verzending en douanedocumenten

Verstuur je buiten de EU, dan komt er meer bij kijken dan een adres en een gewicht. Voor pakketten naar landen buiten de EU is altijd een douaneformulier nodig: een CN22 of een CN23. Welk formulier vereist is, hangt af van het gewicht en de waarde van de zending — de CN23 vraagt meer gegevens en wordt gebruikt voor zwaardere, waardevollere pakketten (PostNL: which customs form do I need?).

De PostNL API ondersteunt dit via het Customs-onderdeel in de Shipping-webservice. Dat veld is verplicht voor zendingen naar landen buiten de EU en bevat onder meer de inhoudsomschrijving, de waarde, het land van herkomst en de HS-goederencode per artikel (PostNL Shipping webservice). Op basis van het zendingstype — bijvoorbeeld cadeau, documenten of handelsgoederen — bepaalt PostNL welke douanedocumenten worden gegenereerd, zoals een CN23, een CP71 of een commerciële factuur.

Het voordeel van een API-koppeling is dat deze gegevens automatisch uit je order- en productdata worden gevuld. Geen handmatig overtikken van inhoudsomschrijvingen of goederencodes, en daardoor minder kans dat een pakket bij de douane blijft hangen door een onvolledig formulier.

Veelgemaakte koppelingsfouten en hoe je ze voorkomt

Een PostNL-koppeling die in een demo werkt, is nog geen koppeling die jarenlang betrouwbaar honderden pakketten per dag verwerkt. De problemen die we het vaakst tegenkomen zijn te voorkomen met de juiste aanpak:

  • Hardgecodeerde sleutels en endpoints — Wie de sandbox- en productiesleutel door elkaar haalt, of een sleutel in de broncode plaatst, loopt tegen mislukte verzoeken of beveiligingsrisico's aan. Bewaar sleutels in versleutelde configuratie en maak de omgeving instelbaar.
  • Onvolledige adres- of douanegegevens — Een ontbrekende huisnummer-toevoeging of een leeg douaneveld leidt tot afgekeurde labels. Valideer de gegevens vóór het verzoek, niet erna.
  • Geen omgang met tijdelijke storingen — Een API kan kortstondig traag of onbereikbaar zijn. Zonder nette afhandeling mislukt dan een hele batch labels. Een goede koppeling probeert het verzoek opnieuw en houdt de status per zending bij.
  • Dubbele labels — Wordt een verzoek opnieuw verstuurd zonder controle, dan ontstaan twee labels voor één order. Werk daarom met een eigen referentie per zending, zodat dubbele aanmaak wordt herkend.
  • Synchroon labels maken tijdens piekdrukte — Wie elk label live aanmaakt op het moment dat een klant betaalt, maakt het systeem afhankelijk van de snelheid van PostNL. Verwerk labels op de achtergrond, zodat de checkout snel blijft.

Monitoring, retries en foutafhandeling

Een verzendkoppeling is bedrijfskritisch: als labels niet worden aangemaakt, staat het magazijn stil. Daarom hoort een professionele koppeling meer te doen dan alleen verzoeken versturen. PostNL adviseert zelf om bij statusupdates niet continu te pollen, maar gebruik te maken van push-notificaties via webhooks, zodat je systeem alleen reageert wanneer er daadwerkelijk iets verandert (PostNL Shipping webservice).

Een robuuste opzet combineert drie lagen. Retries met uitstel zorgen dat een tijdelijke storing geen verloren label betekent: het systeem wacht even en probeert het opnieuw. Logging legt elk verzoek en antwoord vast, zodat je bij een afgekeurd label precies ziet welk veld het probleem veroorzaakte. En monitoring waarschuwt je actief — bijvoorbeeld via een melding — wanneer een batch labels mislukt of de foutmarge oploopt, in plaats van dat je het pas merkt als een klant belt.

PostNL API rechtstreeks of via een verzendplatform?

Niet elke koppeling hoeft rechtstreeks met de PostNL API te praten. Verzendplatformen zoals Sendcloud of MyParcel bieden een tussenlaag waarmee je in één integratie meerdere vervoerders ontsluit. Voor webshops die met verschillende vervoerders werken of snel willen starten, kan dat een praktische keuze zijn.

Tegelijk levert een directe PostNL-koppeling meer controle op: je bent niet afhankelijk van de roadmap of beschikbaarheid van een tussenpartij, je kunt PostNL-specifieke functies volledig benutten en je houdt je verzenddata in eigen hand. Voor bedrijven met hoge volumes, een eigen ordersysteem of specifieke procesvereisten weegt die controle vaak zwaarder dan het gemak van een kant-en-klaar platform. Welke route het beste past, hangt af van je volume, je vervoerdersmix en hoe diep de koppeling in je bestaande systemen moet ingrijpen.

Hoe Coding Agency PostNL integreert

Wij bouwen PostNL koppelingen als integraal onderdeel van maatwerksoftware voor e-commerce, logistiek en fulfillment. Geen generieke plugin met beperkte configuratie, maar een koppeling die exact doet wat jouw bedrijfsproces vereist.

Dat kan betekenen: bezorgopties tonen in de checkout, automatisch labels genereren na betaling, track & trace-mails sturen naar klanten, retourverwerking automatiseren of een dashboard bouwen waarmee je magazijnteam in een oogopslag alle verzendingen van de dag ziet.

We bouwen de koppeling met achtergrondverwerking voor piekbestendigheid, uitgebreide logging voor foutdiagnose en monitoring die je waarschuwt als er iets misgaat. Van een handvol pakketten per week tot duizenden per dag — de architectuur is erop gebouwd om mee te schalen met je groei.

Meer weten over onze PostNL koppeling op maat? Bekijk wat we kunnen bouwen voor jouw verzendproces.

Veelgestelde vragen

Verzendlabels genereren, track-en-trace statussen ophalen, bezorgopties tonen in je checkout, retourlabels aanmaken en realtime statusupdates ontvangen via webhooks.
Zodra je meer dan een handvol pakketten per dag verstuurt. Handmatig labels aanmaken kost steeds meer tijd naarmate volumes groeien. De tijdwinst van automatisering is direct merkbaar.
Ja, de PostNL Delivery Options API toont beschikbare opties op basis van postcode en datum. De klant kiest in de checkout en de optie wordt automatisch verwerkt in het verzendlabel.
Ja. PostNL biedt een aparte sandbox-omgeving die functioneel identiek is aan de live-omgeving. Daarin test je labels, tracking en bezorgopties met een testsleutel, zonder echte zendingen. Pas na een succesvol testtraject ontvang je een productiesleutel.
Ja. Voor zendingen buiten de EU genereert de Shipping-webservice de juiste douanedocumenten, zoals een CN22 of CN23. De koppeling vult de inhoudsomschrijving, waarde en goederencodes automatisch uit je orderdata.
Gerelateerde expertise — API & Koppelingen

API-koppeling laten maken? Wij bouwen betrouwbare integraties met monitoring, retry-logica en vaste prijs per koppeling. Vanaf € 1.000.

Hulp nodig?

Vragen over dit onderwerp? Laten we het erover hebben.

Neem contact op