Lewati ke konten utama

Pengiriman, Percobaan Ulang, dan Kegagalan

Apa yang dianggap berhasil​

Server Anda harus membalas dengan status 2xx dalam 8 detik. Hal berikut dihitung gagal: status non-2xx, redirect 3xx (tidak diikuti), timeout, dan gagal tersambung. Etalasse hanya membaca 2 KB pertama respons dan menyimpan 1000 karakter untuk log.

Jadwal percobaan ulang​

PercobaanWaktu
1Segera
21 menit kemudian
35 menit
430 menit
52 jam
66 jam
724 jam

Ditambah jeda acak 0-10 persen. Totalnya 7 percobaan dalam sekitar 33 jam. Jika semuanya gagal, pengiriman berstatus dead (dead letter) dan bisa dikirim ulang dari log.

Jadwal percobaan ulang webhook: 7 percobaan, segera lalu jeda 1 menit, 5 menit, 30 menit, 2 jam, 6 jam, dan 24 jam; setelah itu status dead7 percobaan dalam ± 33 jamSetiap jeda ditambah jeda acak 0–10%+1 mnt+5 mnt+30 mnt+2 jam+6 jam+24 jam1234567SegeradeadKirim ulang dari logBerhasilsucceededStatus 2xx dalam 8 detik.Tidak ada percobaan berikutnya.GagalpendingNon-2xx, 3xx, timeout, gagal tersambung.Menunggu percobaan berikutnya.123
(1) Percobaan pertama langsung dikirim, (2) jedanya makin panjang sampai 24 jam, (3) setelah 7 kali gagal statusnya dead dan bisa dikirim ulang dari log.

(1) Percobaan pertama langsung dikirim, (2) jedanya makin panjang sampai 24 jam, (3) setelah 7 kali gagal statusnya dead dan bisa dikirim ulang dari log.

Status pengiriman​

StatusArti
pendingMenunggu waktunya
sendingSedang dikirim
succeededBerhasil
deadSemua percobaan gagal
skippedDilewati karena endpoint sudah dinonaktifkan, dihapus, atau paketnya tidak lagi mencakup webhook saat jadwalnya tiba

Kode galat pada log​

Kolom galat terakhir pada log berisi salah satu dari: HTTP_<status> (balasan bukan 2xx, termasuk 3xx), TIMEOUT, CONNECT_FAILED, CONNECTION_RESET, TLS_ERROR (sertifikat tidak valid atau untuk nama lain), NO_RESPONSE, BAD_RESPONSE, BAD_REQUEST, dan SECRET_UNREADABLE (kunci server berubah: putar rahasia endpoint). URL yang ditolak saat pengiriman muncul sebagai URL_SCHEME, URL_HOST_BLOCKED, URL_PORT_BLOCKED, ADDRESS_BLOCKED, atau DNS_FAILED. Pengiriman berstatus skipped memiliki alasan ENDPOINT_INACTIVE, ENDPOINT_DELETED, PLAN_LIMIT, atau EVENT_MISSING.

Nonaktif otomatis​

Endpoint yang mengalami 10 kegagalan atau lebih dan tidak ada keberhasilan selama 3 hari dinonaktifkan otomatis (alasan: auto_failures). Pemilik toko mendapat notifikasi di aplikasi.

Untuk mengaktifkannya lagi:

  1. Perbaiki penyebab kegagalan di server Anda.
  2. Aktifkan kembali endpoint (saklar aktif atau tombol Aktifkan). Penghitung kegagalan di-reset.
  3. Putar ulang event yang terlewat.
info

Event yang terjadi saat endpoint nonaktif tidak dikirim otomatis setelah diaktifkan. Gunakan replay untuk mengejarnya, selama masih dalam masa simpan 30 hari.

Log pengiriman​

Log menampilkan setiap pengiriman, terbaru di atas. Filter yang tersedia: endpoint, status, jenis event, jenis (event, test, redelivery), dan rentang tanggal. Tiap baris menunjukkan status, kode HTTP, latensi, jumlah percobaan (n/7), dan jadwal percobaan berikutnya. Detail baris memuat riwayat tiap percobaan, JSON yang dikirim, dan cuplikan respons.

Log dan event disimpan 30 hari.

Kirim ulang (redeliver)​

Tombol Kirim ulang pada sebuah baris membuat pengiriman baru (jenis redelivery) untuk event dan endpoint yang sama, dan langsung mengirimnya. Baris lama tidak diubah sehingga riwayat tetap utuh. Bisa untuk status apa pun, asalkan endpoint aktif.

Replay event​

Dari daftar event terbaru (atau halaman pesanan, bila tersedia di Dashboard Anda), Anda bisa memutar ulang sebuah event:

  • ke satu endpoint tertentu, atau
  • ke semua endpoint aktif yang melangganinya (menurut langganan saat ini).

Replay hanya untuk event dalam 30 hari terakhir dan endpoint yang aktif.

Jaminan​

  • Minimal sekali, tidak berurutan. Siapkan penanganan duplikat berdasarkan id event.
  • Event dicatat dalam transaksi database yang sama dengan perubahannya: tidak ada event untuk perubahan yang dibatalkan, dan tidak ada yang hilang jika server mati setelah commit.
  • Biasanya tiba dalam beberapa detik. Ada pekerja cadangan tiap menit.
  • Pekerja yang berjalan bersamaan tidak mengirim pengiriman yang sama pada saat yang sama.
  • Body kurang dari 256 KB.

Tips agar endpoint sehat​

  • Balas 2xx cepat, proses berat di antrean Anda sendiri.
  • Balas 2xx juga untuk event duplikat yang sudah diproses.
  • Jangan membalas 3xx; endpoint harus menjawab langsung.
  • Pantau notifikasi dan log secara berkala.

Halaman terkait​