Pelajari tentang WebHook

WebHook adalah saluran di mana pelanggan menerima informasi pengiriman mereka. Setelah pengguna mengirim permintaan email ke EngageLab, EngageLab akan secara sinkron mengembalikan "hasil permintaan" kepada pengguna, sedangkan "hasil pengiriman" dan "hasil peristiwa lainnya" dari email akan dikirim secara asinkron melalui WebHook.

Pemrosesan WebHook

  • EngageLab menyediakan beberapa peristiwa email yang dapat dipilih pelanggan untuk dipantau.
  • Ketika suatu peristiwa terjadi, EngageLab akan mengirimkan data (POST) ke URL yang telah dikonfigurasi oleh pelanggan.
  • Jenis data yang dikirim EngageLab: "Content Type: application/json".
  • Pelanggan menerima data tersebut, melakukan parsing peristiwa dan datanya, dan wajib mengembalikan HTTP Status Code 200 dalam waktu 3 detik. Jika tidak, EngageLab akan mengirim ulang pesan.

Cara Penggunaan

  • Pengguna membuat layanan HTTP sendiri untuk menangani peristiwa terkait, parsing data yang diterima, dan membuka URL yang sesuai.
  • Pengguna memilih peristiwa yang ingin dipantau pada menu 'WebHook' di EngageLab dan mengonfigurasi URL untuk menerima data.

Verifikasi Tanda Tangan

Untuk memastikan sumber pesan benar-benar dari EngageLab, Anda dapat memilih melakukan autentikasi keamanan pada sumber data POST (atau langsung parsing data POST tanpa verifikasi).

Metode autentikasi keamanan:

  • Dapatkan APP KEY melalui 【Pengaturan Pengiriman】-【WebHook】
  • Parsing X-WebHook-Timestamp pada Header
  • Parsing X-WebHook-AppKey pada Header
  • Parsing X-WebHook-Signature pada Header
  • Gunakan md5(X-WebHook-Timestamp+X-WebHook-AppKey+APP KEY) untuk menghasilkan signature, lalu bandingkan dengan X-WebHook-Signature

Pemrosesan Respons

Setelah menerima callback dari EngageLab, layanan pengembang wajib memberikan respons dalam waktu 3 detik sesuai ketentuan berikut.

Penerimaan berhasil: kode status HTTP harus mengembalikan 200 atau 204, tanpa perlu mengembalikan pesan respons.

Penerimaan gagal: kode status HTTP harus mengembalikan 5XX atau 4XX, dan wajib mengembalikan pesan respons dengan format berikut:

{"code":2002,"message":"failed"}

Parameter Tipe Wajib/Opsional Deskripsi
code int Opsional Kode error
message string Opsional Detail error

Pemrosesan Ulang (Retry)

Jika terjadi kesalahan akses URL atau timeout, EngageLab akan mencoba ulang hingga maksimal 7 kali. Interval waktu antar percobaan ulang: 3 menit, 10 menit, 30 menit, 1 jam, 6 jam, 12 jam, dan 24 jam. Artinya, Anda punya cukup waktu untuk memperbaiki URL sebelum pesan hilang.

Jika jumlah percobaan ulang terlampaui, EngageLab akan membuang pesan tersebut.

Untuk setiap pemrosesan peristiwa dan analisis data, Anda wajib mengembalikan "Penerimaan respons berhasil" dalam waktu 3 detik. Jika tidak, EngageLab akan mengirim ulang pesan tersebut.

icon
Hubungi Sales