Kõik artiklid
Inseneritöö

Veebikonksud: sündmused, allkirjad ja kordused

Milliseid sündmusi Postline saadab, kuidas iga päringut kontrollida ja mis juhtub, kui teie lõpp-punkt ei vasta.

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.