Kontrolli iga tarnesündmust
Postline signeerib iga webhooki ja piirab korduskatsete arvu. Vastuvõtjad peavad kontrollima värskust, eemaldama duplikaat-sündmuste ID-sid ja taluma väljaspool järjekorda saabuvat kohaletoimetamist.
Sündmused
Telli iga lõpp-punkt 1–20 järgmisele sündmusetüübile:
- email.accepted
- email.queued
- email.sent
- email.delivered
- email.deferred
- email.bounced
- email.complained
- email.opened
- email.clicked
- email.received
- email.suppressed
- domain.verified
- domain.failed
Signatuuri sisend
HMAC-SHA256(secret, timestamp + "\0" + event_id + "\0" + body)
Postline-Timestamp: 1784743200
Postline-Event-Id: evt_…
Postline-Signature: v1=…Päring ja sisu
POST https://example.com/hooks/postline
Content-Type: application/json
Postline-Event-Id: evt_3f2a9c…
Postline-Timestamp: 1784743200
Postline-Signature: v1=5d41402abc4b2a76…
{
"id": "evt_3f2a9c…",
"type": "email.delivered",
"created_at": "2026-11-05T12:00:00Z",
"data": {
"email_id": "msg_01J…",
"recipient": "user@example.net",
"provider": "gmail",
"smtp_response": "250 2.0.0 OK"
}
}Vastuvõtja nõuded
- Arvuta signatuur täpsest töötlemata (raw) päringu kehast.
- Võrdle signatuure constant-time meetodil.
- Lükka tagasi ajatemplid, mis jäävad lubatud akna väliseks.
- Salvesta event_id ja töötle iga sündmust üks kord.
- Ära eelda, et sündmused saabuvad elutsükli järjekorras.
Väljuvad kontrollid
Lõpp-punkti loomine nõuab HTTPS-i. Privaatsed, loopback-, link-local-, metadata- ja mandaate sisaldavad ning sisemised sihtkohad on blokeeritud ja lahendatakse (resolve) uuesti helistamise hetkel. Ümbersuunamisi ei järgita. Kohaletoimetamine kasutab piiratud ajalõppe ja korduskatsete arvu.
Ajalõpud ja kordused
Iga 2xx vastus kinnitab sündmuse. Ajalõpp (15 s), võrguviga või muu olek on ebaõnnestumine. Postline teeb kuni 6 katset: esimese ning kordused 1 min, 5 min, 30 min, 2 h ja 8 h järel. Iga katse salvestatakse logisse ja iga kohaletoimetamist saab käsitsi korrata API või töölaua kaudu.