API-documentatie

Plof API voor verzenders

Lever post programmatisch aan bij Plof. Je hebt een API-sleutel nodig — die maak je aan in je verzendportaal onder “API & developers”. Bouw je de koppeling namens een bedrijf? Dan nodigt dat bedrijf je uit als medewerker met het recht “API & developers”; zo krijg je toegang tot de sleutels zonder inzage in hun post.

Authenticatie

Elk verzoek stuurt je API-sleutel mee in de header X-Plof-Key (of als Authorization: Bearer …). De sleutel hoort bij één verzender; Plof bewaart alleen een hash. Verlies je hem, maak dan een nieuwe aan en trek de oude in.

# Test of je sleutel werkt curl https://plof.app/wp-json/plof/v1/stukken/../ping \ -H "X-Plof-Key: JOUW_SLEUTEL"
Deel je sleutel nooit publiek (niet in frontend-code of een repo). Wie de sleutel heeft, kan post aanleveren namens de verzender.

Eén poststuk aanleveren

POST https://plof.app/wp-json/plof/v1/stukken

Stuur het bezorgadres en de PDF (als base64, of als multipart-bestand). Plof matcht het adres tegen het ankerregister en bezorgt digitaal, of zet het stuk op retour als de ontvanger niet bereikbaar is.

curl -X POST https://plof.app/wp-json/plof/v1/stukken \ -H "X-Plof-Key: JOUW_SLEUTEL" \ -H "Content-Type: application/json" \ -d '{ "adres_pc": "1234AB", "adres_nr": "1", "adres_toev": "A", "pdf_base64": "JVBERi0xLjQK…", "idempotency_key": "factuur-2026-000123" }'

Antwoord

{ "ok": true, "stuk_id": 4213, "status": "nieuw" }

Batch: meerdere stukken tegelijk

POST https://plof.app/wp-json/plof/v1/stukken/batch

Lever tot 5000 stukken per verzoek aan. De stukken worden versleuteld opgeslagen en op de achtergrond bezorgd — je krijgt meteen antwoord en volgt de voortgang als één verzending in het portaal. Geef optioneel een label mee zodat je de verzending herkent.

curl -X POST https://plof.app/wp-json/plof/v1/stukken/batch \ -H "X-Plof-Key: JOUW_SLEUTEL" \ -H "Content-Type: application/json" \ -d '{ "label": "Loonstroken maart 2026", "stukken": [ { "adres_pc": "1234AB", "adres_nr": "1", "pdf_base64": "…" }, { "adres_pc": "5678CD", "adres_nr": "9", "pdf_base64": "…" } ] }'

Antwoord

{ "ok": true, "verzending_id": 87, "aantal": 2, "gelukt": 2, "mislukt": 0, "resultaten": [ { "index": 0, "ok": true, "stuk_id": 4213 }, … ] }

De HTTP-status is 207 (Multi-Status): sommige stukken kunnen slagen terwijl andere falen. Controleer per stuk het veld ok in resultaten.

Status van een stuk opvragen

GET https://plof.app/wp-json/plof/v1/stukken/{stuk_id}

Vraag de actuele status op van een stuk dat je eerder aanleverde. Je ziet alleen je eigen stukken.

{ "ok": true, "stuk_id": 4213, "status": "bezorgd" }

Mogelijke statussen: nieuw, bezig, bezorgd, geopend, wacht_op_anker (ontvanger gebruikt Plof nog niet), retour, verwijderd.

Velden

VeldVerplichtOmschrijving
adres_pcjaPostcode van de ontvanger, bv. 1234AB.
adres_nrjaHuisnummer.
adres_toevneeToevoeging (bv. A, bis).
pdf_base64ja*De PDF als base64. *Of lever de PDF als multipart-bestand mee.
idempotency_keyaanbevolenEigen unieke sleutel; voorkomt dubbele bezorging bij opnieuw versturen.
typeneegewoon (standaard) of aangetekend.
labelneeAlleen bij batch: naam van de verzending.

Foutcodes

HTTPBetekenisWat te doen
401API-sleutel ontbreektVoeg de header X-Plof-Key toe.
403Ongeldige of ingetrokken sleutelControleer de sleutel of maak een nieuwe aan in het portaal.
400Verzoek onvolledigAdres of PDF ontbreekt; controleer de verplichte velden.
413Batch te grootMaximaal 5000 stukken per verzoek; splits de batch.
207Batch deels geslaagdGeen fout: lees per stuk het veld ok.
503Dienst tijdelijk niet beschikbaarProbeer het later opnieuw.

Veelgestelde vragen

Ik ben developer en bouw voor een bedrijf. Hoe krijg ik toegang?

Het bedrijf (de verzender) nodigt je uit als medewerker en vinkt het recht “API & developers” aan. Je logt in met je eigen Plof-identiteit en ziet dan alleen het API-scherm en deze documentatie — je hebt géén inzage in de post van het bedrijf.

Kan één verzender meerdere sleutels hebben?

Ja. Je maakt losse sleutels aan met een eigen naam, bijvoorbeeld Productie en Test. Elke sleutel kun je apart intrekken zonder de andere te breken — handig bij een sleutelwissel of als een koppeling wegvalt.

Wat gebeurt er als ik een sleutel intrek?

Die sleutel werkt direct niet meer: verzoeken ermee krijgen een 403. Bestaande sleutels blijven werken. Maak eerst de nieuwe sleutel aan en zet die in je systeem, en trek de oude daarna pas in.

Hoe voorkom ik dat een brief dubbel bezorgd wordt?

Stuur een eigen idempotency_key mee (bijvoorbeeld je factuurnummer). Lever je hetzelfde stuk per ongeluk twee keer aan, dan herkent Plof de sleutel en bezorgt het maar één keer.

Wat is het verschil tussen los aanleveren en een batch?

Bij /stukken lever je één brief aan. Bij /stukken/batch lever je er tot 5000 tegelijk aan; die worden op de achtergrond bezorgd en vormen samen één verzending in het portaal, met een voortgangsoverzicht. Grote stromen (loonstroken, jaaropgaven) horen in een batch.

Hoe zie ik of er brieven vastlopen?

In het verzendportaal verschijnt bij “Verzonden” een melding “Aandacht nodig” zodra brieven langer dan een paar dagen onderweg zijn zonder opgehaald te worden, of op retour staan — verzameld over al je verzendingen. Zo zie je in één oogopslag of er iets misging.

Gaat er iets mis met mijn hele batch als één brief faalt?

Nee. Een batch geeft HTTP 207 terug: de goede stukken worden verwerkt, de foute niet. Controleer per stuk het veld ok in resultaten om te zien welke opnieuw moeten.