Bezorgingsmodel
Truncus scheidt de transportlaag van het besturingsvlak. Deze scheiding verklaart wat "deterministische bezorging" in de praktijk betekent.
Architectuur
Transportlaag: AWS SES verzorgt de SMTP-bezorging naar de ontvangende mailservers.
Besturingsvlak (EU): Truncus orkestreert verzendingen, slaat bezorgevenementen op, dwingt idempotentie af, beheert replay en stelt terminale status beschikbaar.
Jouw systeem communiceert uitsluitend met het besturingsvlak. De transportlaag is een implementatiedetail.
Bezorgingsflow
- Verzendverzoek ontvangen door Truncus
- Validatie (API key, payload, domeinmachtiging)
- Transportpoging via AWS SES
- Terminale status bepaald uit SES-feedback
- Event opgeslagen in EU-infrastructuur
- Webhook verzonden naar jouw endpoint
Terminale statussen
Elke verzending eindigt in precies één terminale status:
| Status | Betekenis |
|---|---|
delivered | Geaccepteerd door de ontvangende mailserver |
bounced | Geweigerd door de ontvangende mailserver, met reden |
rejected | Geblokkeerd vóór transportpoging, met reden |
delivered betekent dat het bericht is geaccepteerd door de mailserver van de ontvanger. Dit garandeert geen plaatsing in de inbox.
bounced bevat machineleesbare redenen: mailbox_full, no_mx_record, mailbox_does_not_exist.
rejected treedt op vóór de bezorgingspoging: suppression_list, invalid_address, domain_not_verified.
Wat Truncus niet doet
- Geen impliciete retries na een bounce of rejection
- Geen status-samenvoegen — elke verzending wordt onafhankelijk bijgehouden
- Geen optimistische succesresponses — SES-weigeringen worden doorgegeven
Event-opslag
Alle bezorgevenementen worden opgeslagen in EU-infrastructuur en zijn opvraagbaar via API of dashboard. Events worden op alle plannen 90 dagen bewaard.
Events zijn op aanvraag herhaalbaar. Zie Replay →
Synchrone vs. asynchrone status
De API-response bevat voor de meeste verzendingen een synchrone terminale status. Definitieve SES-feedback is asynchroon en kan het opgeslagen event binnen seconden bijwerken.
Voor productiesystemen raden we aan bezorgingsstatus via webhooks te consumeren in plaats van de send-response te pollen.