Memahami Kontrak Webhook yang Tahan Retry Eksponensial

Go Fiber memungkinkan penerima webhook bekerja dalam lingkungan retry agresif. Kontrak webhook yang jelas membantu dua sistem tetap sinkron meski pengirim mengulang payload dengan jeda eksponensial dan potensi duplikat. Dalam dua paragraf pertama ini, fokusnya adalah memastikan Anda tahu format request/response yang harus didukung dan bagaimana server Fiber akan menolak atau menerima notifikasi ulang.

Spesifikasi Request/Response HTTP

Struktur Request

Gunakan method POST dengan Content-Type: application/json. Kepala penting mencakup:

  • X-GoFiber-Event: jenis event yang diterima.
  • X-GoFiber-Timestamp: timestamp pengiriman untuk menentukan ordering sederhana.
  • X-GoFiber-Signature: HMAC-SHA256 terhadap body dan timestamp agar penerima bisa validasi integritas.
  • X-GoFiber-Request-Id: UUID unik setiap pengiriman (meski payload sama) untuk deduplikasi.

Payload JSON harus memuat identitas sumber dan data perubahan. Tetapkan skema minimal untuk mempermudah validasi, misalnya {