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.
Post wordt op jouw server versleuteld voordat het naar Plof gaat — Plof ziet de inhoud van je documenten nooit. De versleuteling is post-quantum en gebeurt automatisch met de Plof-SDK. Je hoeft er zelf niets ingewikkelds voor te doen: adres + document erin, versturen.
cipher, nonce en wikkels aan.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.
POST https://plof.app/wp-json/plof/v1/stukken/e2e
Werk je met de SDK, dan doet plof.verstuur(…) dit voor je (zie Snelstart). Wil je het zelf doen, dan versleutel je het document eerst client-side en stuur je het versleutelde pakket: cipher + nonce (het versleutelde document), wikkels (de leesrechten) en document_sha256 (voor het verzendbewijs). Plof ontvangt nooit de kale PDF.
Voor een privépersoon geef je in plaats van een adres een plof_id mee. Een kaal adres bereikt alleen een zakelijke postbus — nooit een privépersoon.
POST https://plof.app/wp-json/plof/v1/stukken/e2e/batch
Lever tot 5000 stukken per verzoek aan, elk client-side versleuteld (met de SDK gaat dit vanzelf). Elk stuk wordt apart verwerkt: gaat er één mis, dan worden de andere gewoon verstuurd en krijg je het gefaalde stuk terug met de reden. Je hoeft nooit de hele batch opnieuw te sturen.
De HTTP-status is 201 als alles lukte, 207 (Multi-Status) bij een mix, en 422 als niets lukte. Lees per stuk het veld ok in resultaten; gefaalde stukken herken je aan je eigen referentie en corrigeer je apart.
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.
Mogelijke statussen: nieuw, bezig, bezorgd, geopend, wacht_op_anker (ontvanger gebruikt Plof nog niet), retour, verwijderd.
Zet je bij een stuk reactie_toegestaan op 1, dan kan de ontvanger binnen Plof digitaal terugsturen (een bericht met eventueel een bijlage, bijvoorbeeld een ondertekende PDF) — versleuteld, zodat alleen jouw organisatie de reactie kan lezen. Geen losse e-mail meer die je moet terugzoeken.
Elke reactie draagt de referentie die je bij het originele stuk meegaf, zodat je hem direct aan het juiste dossier in je CRM koppelt. Reacties verschijnen in je verzendportaal onder Reacties, en zijn op te halen via de API. Je kunt ook een webhook instellen zodat Plof elke nieuwe reactie naar je eigen systeem duwt.
Haal reacties op met je API-sleutel. De metadata (referentie, poststuk, tijd) is direct bruikbaar; de versleuteld-blob kun je archiveren, maar alleen een verzegelde lezer in je portaal kan die openen.
GET plof/v1/reacties?sinds=2026-08-01 X-Plof-Key: jouw_sleutel
Parameters: sinds (ISO-datum, alleen nieuwere), status, per (max 200), blz. Eén reactie: GET /reacties/{id}.
Elk item bevat: id, poststuk_id, referentie, heeft_bijlage, status, ontvangen, en versleuteld (met iv, inhoud, sleutel_wikkel).
Stel een https-endpoint in; Plof stuurt bij elke nieuwe reactie een POST met metadata (geen inhoud) en een ophalen-link.
POST plof/v1/reacties/webhook
X-Plof-Key: jouw_sleutel
{ "url": "https://jouw-crm.nl/plof-webhook", "actief": true }Je krijgt een geheim terug. Elke webhook draagt de header X-Plof-Signature = hmac_sha256(geheim, body). Verifieer die vóór je de melding vertrouwt. De payload bevat o.a. reactie_id, referentie en een ophalen-URL.
| Veld | Verplicht | Omschrijving |
|---|---|---|
adres_pc | ja* | Postcode van de ontvanger, bv. 1234AB. *Voor een zakelijke postbus. Voor een privépersoon gebruik je in plaats daarvan plof_id. |
adres_nr | ja* | Huisnummer (bij een zakelijk adres). |
adres_toev | nee | Toevoeging (bv. A, bis). |
plof_id | ja* | Plof-ID van een privé-ontvanger, in plaats van een adres. |
cipher | ja | Het versleutelde document (base64). De SDK vult dit; zelf versleutelen kan ook. |
nonce | ja | De nonce bij het versleutelde document (base64). |
wikkels | ja | De leesrecht-wikkels (X-Wing) naar de ontvanger. De SDK maakt deze. |
document_sha256 | ja | Vingerafdruk (64 hex) van het originele document, voor het verzendbewijs. |
idempotency_key | aanbevolen | Eigen unieke sleutel; voorkomt dubbele bezorging bij opnieuw versturen. |
type | nee | gewoon (standaard) of aangetekend. |
referentie | nee | Eigen kenmerk (dossier-, klant- of zaaknummer). Reist mee en komt terug bij een reactie van de ontvanger — handig om reacties aan je CRM te koppelen. |
onderwerp | nee | Onderwerp van het stuk (bv. Factuur). Bepaalt mede of reageren mag (zie reactie-toestemming). |
reactie_toegestaan | nee | Mag de ontvanger digitaal terugsturen? 1 = ja, 0 = nee. Laat je het weg, dan erft het stuk de instelling van ontvanger → onderwerp → bedrijfsstandaard. |
| HTTP | Betekenis | Wat te doen |
|---|---|---|
401 | API-sleutel ontbreekt | Voeg de header X-Plof-Key toe. |
403 | Ongeldige of ingetrokken sleutel, of account geschorst | Controleer de sleutel of maak een nieuwe aan in het portaal. |
400 | Verzoek onbruikbaar | Verplicht veld ontbreekt, of de batch is leeg of groter dan 5000 stukken; splits de batch. |
201 | Alles gelukt | Geen fout: het stuk of de hele batch is aangenomen. |
207 | Batch deels geslaagd | Geen fout: lees per stuk het veld ok in resultaten. |
422 | Niets gelukt | Alle stukken geweigerd (bijv. onbekende ontvanger of ongeldige postcode). Zie code/fout per stuk. |
503 | Dienst tijdelijk niet beschikbaar | Probeer het later opnieuw. |
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.
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.
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.
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.
Bij /stukken/e2e lever je één brief aan. Bij /stukken/e2e/batch lever je er tot 5000 tegelijk aan; die worden op de achtergrond bezorgd. Grote stromen (loonstroken, jaaropgaven) horen in een batch. Met de SDK gebruik je verstuur of verstuurBatch en hoef je je hier niet druk over te maken.
Nee, de SDK doet dat. Elk document wordt op jouw server versleuteld vóór verzending — Plof ziet de inhoud nooit. Werk je zonder de SDK, dan lever je zelf cipher, nonce en wikkels aan; de kale routes voor onversleutelde PDF's zijn uitgeschakeld.
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.
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.