1. Tarief ophalen
Vraag de beschikbare vervoerders en prijzen op. Elk tarief bevat een quote_id dat kort geldig is. Inkoopprijs, marge en provider zitten nooit in de response.
curl -X POST https://pakketbezorgd.nl/api/public/v1/rates \
-H "Authorization: Bearer $PB_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_country": "NL",
"from_postal_code": "1011AB",
"to_country": "NL",
"to_postal_code": "3011AA",
"weight_kg": 3,
"length_cm": 30,
"width_cm": 20,
"height_cm": 15,
"customer_type": "zakelijk"
}'
2. Zending aanmaken
Maak de zending aan met het quote_id. Stuur altijd een Idempotency-Key mee: dezelfde key met dezelfde inhoud geeft exact dezelfde zending terug, dus dubbel versturen levert nooit een tweede label op.
curl -X POST https://pakketbezorgd.nl/api/public/v1/shipments \
-H "Authorization: Bearer $PB_PARTNER_KEY" \
-H "Idempotency-Key: viakoeriers-10231" \
-H "Content-Type: application/json" \
-d '{ "quote_id": "qt_...", "from": { }, "to": { } }'
3. Betaling of factuurstatus
De zending krijgt een status. Bij een partner met factuurafspraak wordt de zending op de maandfactuur bijgeschreven; zonder afspraak verloopt de betaling vooraf via de bestaande betaalflow. De partnervergoeding per zending komt uit het ingestelde prijsmodel.
curl https://pakketbezorgd.nl/api/public/v1/shipments/{id} \
-H "Authorization: Bearer $PB_PARTNER_KEY"
4. Label ophalen
Het PDF-label is beschikbaar zodra de zending is aangemaakt. Labels worden nooit publiek gedeeld; ze zijn alleen op te halen met je eigen sleutel.
curl https://pakketbezorgd.nl/api/public/v1/shipments/{id}/label \
-H "Authorization: Bearer $PB_PARTNER_KEY"
5. Tracking volgen
Vraag de status op of laat Pakketbezorgd je een webhook sturen. Webhooks zijn ondertekend met HMAC; controleer de signatuur voordat je iets verwerkt.
curl https://pakketbezorgd.nl/api/public/v1/shipments/{id}/tracking \
-H "Authorization: Bearer $PB_PARTNER_KEY"
6. Annuleren
Een zending kan worden geannuleerd zolang de vervoerder dat toestaat. De uitkomst is definitief of in behandeling; dat verschilt per vervoerder.
curl -X POST https://pakketbezorgd.nl/api/public/v1/shipments/{id}/cancel \
-H "Authorization: Bearer $PB_PARTNER_KEY"
Servicepunten
Voor afgifte bij een pakketpunt zoek je eerst een servicepunt en stuur je dat mee bij het aanmaken van de zending.
curl "https://pakketbezorgd.nl/api/public/v1/service-points?country=NL&postal_code=1011AB" \
-H "Authorization: Bearer $PB_PARTNER_KEY"