Verifikasi setiap event pengiriman
Postline menandatangani setiap webhook dan membatasi jumlah percobaan ulang. Konsumen harus memvalidasi kesegaran (freshness), melakukan deduplikasi event ID, dan mentolerir pengiriman yang tidak berurutan.
Event
Langgankan setiap endpoint ke 1–20 jenis event berikut:
- 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
Input tanda tangan
HMAC-SHA256(secret, timestamp + "\0" + event_id + "\0" + body)
Postline-Timestamp: 1784743200
Postline-Event-Id: evt_…
Postline-Signature: v1=…Permintaan dan payload
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"
}
}Persyaratan penerima
- Hitung tanda tangan dari isi permintaan mentah (raw) yang persis.
- Bandingkan tanda tangan dalam waktu konstan (constant time).
- Tolak timestamp di luar jendela waktu yang diizinkan.
- Simpan event_id dan proses setiap event satu kali.
- Jangan berasumsi event tiba dalam urutan siklus hidupnya.
Kontrol keluar (outbound)
Pembuatan endpoint memerlukan HTTPS. Target privat, loopback, link-local, metadata, yang membawa kredensial, dan internal diblokir dan di-resolve ulang saat waktu koneksi. Redirect tidak diikuti. Pengiriman menggunakan timeout dan jumlah percobaan ulang yang dibatasi.
Batas waktu dan percobaan ulang
Respons 2xx apa pun mengonfirmasi event. Batas waktu (15 dtk), galat jaringan, atau status lain dihitung gagal. Postline mencoba hingga 6 kali: percobaan pertama lalu setelah 1 mnt, 5 mnt, 30 mnt, 2 jam, dan 8 jam. Setiap percobaan dicatat di log pengiriman dan pengiriman apa pun dapat diulang manual lewat API atau dasbor.