Webhook: Ringkasan dan Pengaturan
Webhook membuat Etalasse mengirim kabar ke sistem Anda begitu sesuatu terjadi di toko: pesanan dibayar, produk berubah, stok menipis, dan seterusnya. Etalasse mengirim permintaan POST berisi JSON bertanda tangan ke alamat (endpoint) HTTPS milik Anda. Cocok untuk menyambungkan akuntansi, ERP, kurir, atau notifikasi internal tanpa perlu mengecek data berkali-kali.
Webhook tersedia di paket Pro dan Enterprise. Lihat Webhook, API, dan paket.
Pengiriman bersifat at-least-once (minimal sekali) dengan percobaan ulang otomatis. Artinya event yang sama bisa tiba lebih dari sekali, jadi sistem Anda perlu mengabaikan duplikat. Penjelasannya ada di Katalog event.
Siapa yang bisa memakainya
Hanya Pemilik dan Admin. Kasir tidak bisa membuka apa pun di fitur ini, termasuk melihat log, karena log pengiriman memuat data pelanggan.
Menambah endpoint
- Buka Pengaturan > Developer > Webhook di Dashboard.
- Pilih Tambah endpoint.
- Isi URL (harus HTTPS, lihat aturan di bawah) dan Deskripsi (opsional, misalnya "Sinkron akuntansi").
- Pilih event yang ingin diterima, dikelompokkan per kategori (pesanan, refund, stok, purchase order, booking, ulasan, pelanggan, produk). Pilih Semua event untuk menerima semuanya, termasuk event baru yang ditambahkan di masa depan.
- Simpan. Etalasse menampilkan secret penanda tangan (diawali
whsec_).
Salin dan simpan secret saat itu juga. Setelah ditutup, Dashboard hanya menampilkan petunjuk singkat (misalnya whsec_...a1B2). Jika hilang, buat yang baru lewat rotasi secret.
Setelah itu, coba kirim tes untuk memastikan server Anda menerima dan memverifikasi permintaan dengan benar. Cara memverifikasi tanda tangan ada di Verifikasi tanda tangan.
Aturan URL
Untuk keamanan, URL diperiksa saat disimpan dan lagi setiap kali pengiriman:
| Aturan | Keterangan |
|---|---|
| Skema | Hanya https |
| Panjang | Maksimal 500 karakter |
| Tanpa kredensial dan fragmen | Tidak boleh user:pass@ atau #fragment |
| Host | Nama DNS publik. Tidak boleh alamat IP (format apa pun), localhost, .local, .internal, atau nama tanpa domain |
| Port | 443, atau 1024-65535 kecuali port layanan internal yang umum (3306, 5432, 6379, 27017, 9200, dan sejenisnya) |
| Alamat tujuan | Nama host di-resolve saat disimpan dan tiap pengiriman. Jika salah satu hasilnya alamat privat, loopback, link-local, multicast, reserved, atau metadata cloud, endpoint ditolak |
| Redirect | Tidak diikuti. Respons 3xx dihitung gagal |
Satu URL hanya bisa didaftarkan sekali per toko.
Batas jumlah endpoint
| Paket | Maksimal endpoint |
|---|---|
| Free, Growth | Tidak tersedia |
| Pro | 3 |
| Enterprise | 10 |
Berapa pun batas paket Anda, satu toko tidak bisa punya lebih dari 10 endpoint. Dashboard menampilkan pemakaian sebagai jumlah / batas.
Mengelola endpoint
Daftar endpoint menunjukkan URL, jumlah event, saklar aktif, status (sehat, gagal N kali, dinonaktifkan otomatis, atau sedang rotasi), dan waktu sukses terakhir. Anda bisa mengubah URL, deskripsi, event, menonaktifkan, atau menghapus endpoint. Menghapus tidak bisa dibatalkan, dan pengiriman yang masih antre dilewati.
Pertanyaan umum
Apakah saya harus membuat server khusus? Anda perlu satu alamat HTTPS publik yang bisa menerima POST. Layanan seperti Zapier atau n8n yang menyediakan URL webhook juga bisa dipakai selama memenuhi aturan di atas.
Bisakah URL pengembangan lokal (localhost) didaftarkan? Tidak. Gunakan nama domain publik, misalnya lewat tunnel yang memberi URL HTTPS publik.
Apakah saya bisa memilih hanya sebagian event? Ya, per endpoint. Anda juga bisa mendaftarkan beberapa endpoint dengan event berbeda.
Apa yang terjadi jika paket turun dari Pro? Lihat Webhook, API, dan paket.
Apakah ada yang berubah di toko saya? Tidak. Webhook hanya membaca dan mengirim kabar; tidak mengubah pesanan, produk, atau stok.