Pendahuluan
Berlangganan untuk menerima notifikasi dan pembaruan terkait produk.
Informasi lebih lanjut tentang antarmuka pengguna modul ini https://doc.oneentry.cloud/docs/category/events
🎯 Apa yang dilakukan modul ini?
Modul Events memungkinkan Anda mendaftar pengguna untuk notifikasi produk - seperti email ketika produk tersedia kembali, atau peringatan ketika harga turun. Anda mengonfigurasi acara di panel admin OneEntry; SDK mengelola siapa yang terdaftar untuk apa.
Anggap saja ini sebagai sistem langganan produk - pengguna mendaftar untuk produk tertentu (atau formulir) dan menerima notifikasi ketika ada perubahan.
🚀 Memulai dengan Cepat
Inisialisasi modul dari defineOneEntry:
const { Events } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Daftar acara yang tersedia (publik — tidak memerlukan otorisasi):
// Fetch all events configured in the admin panel.
const events = await Events.getAllEvents();
events.forEach((event) => {
console.log(event);
});
Untuk mendaftar pengguna ke acara produk, Anda harus diotorisasi terlebih dahulu, kemudian panggil subscribeByMarker(marker, productId, langCode?):
// Requires an authorized user (see AuthProvider).
const ok = await Events.subscribeByMarker("product_price_change", 12345, "en_US");
console.log(ok); // true on success
✨ Konsep Kunci
Apa itu Acara Produk?
Acara produk adalah notifikasi yang dipicu oleh perubahan pada produk:
- Pemicu - apa yang terjadi pada produk (misalnya "tersedia kembali", "harga turun")
- Notifikasi - apa yang diterima oleh pelanggan (email atau push)
- Pelanggan - pengguna yang memilih untuk menerima pembaruan produk ini
- Template - konten pesan notifikasi (dikonfigurasi di panel admin)
Modul ini juga mendukung acara formulir: mendaftar untuk / berhenti berlangganan dari notifikasi yang terkait dengan pengiriman formulir menggunakan subscribeToForm / unsubscribeFromForm.
Saluran Notifikasi
| Saluran | Deskripsi | Terbaik Untuk |
|---|---|---|
| Mengirim pesan email | Peringatan restock, penurunan harga, buletin | |
| Push Notification | Peringatan mobile/browser | Peringatan mendesak, penjualan kilat |
📋 Apa yang Perlu Anda Ketahui
Acara dikonfigurasi di panel admin
Pemicu, saluran, dan template diatur di panel admin OneEntry. SDK tidak membuat acara atau memicu mereka secara manual — acara dipicu secara otomatis ketika data produk berubah. SDK digunakan untuk mendaftar acara dan mengelola langganan.
Otorisasi
getAllEvents() adalah publik. Setiap metode langganan (getAllSubscriptions, subscribeByMarker, unsubscribeByMarker, subscribeToForm, unsubscribeFromForm, getFormSubscriptions) memerlukan pengguna yang terotorisasi — lihat AuthProvider.
Variabel Template
Gunakan placeholder dalam template notifikasi untuk menyertakan detail produk seperti nama, harga, dan ketersediaan. Template diedit di panel admin.
📊 Tabel Referensi Cepat - Metode Umum
| Metode | Apa yang Dilakukannya |
|---|---|
| getAllEvents() | Mendapatkan semua acara yang tersedia |
| getAllSubscriptions() 🔐 | Mendapatkan semua langganan produk |
| subscribeByMarker() 🔐 | Mendaftar untuk acara produk berdasarkan marker |
| unsubscribeByMarker() 🔐 | Berhenti berlangganan dari acara produk berdasarkan marker |
| subscribeToForm() 🔐 | Mendaftar untuk acara formulir berdasarkan marker |
| unsubscribeFromForm() 🔐 | Berhenti berlangganan dari acara formulir berdasarkan marker |
| getFormSubscriptions() 🔐 | Mendapatkan semua langganan formulir |
🔐 metode memerlukan otorisasi pengguna — lihat AuthProvider. getAllEvents() dapat diakses tanpa otorisasi.
❓ Pertanyaan Umum (FAQ)
Bagaimana cara membuat atau mengedit acara produk?
Acara dibuat dan dikonfigurasi di panel admin OneEntry (bagian Events) — atur pemicu, saluran, dan template di sana, kemudian aktifkan acara. SDK hanya mencantumkan acara dan mengelola langganan.
Bisakah saya memicu acara produk secara manual dari kode saya?
Tidak. SDK tidak mendukung pemicu manual — acara dipicu secara otomatis berdasarkan pemicu yang dikonfigurasi di OneEntry ketika data produk berubah.
Mengapa pendaftaran gagal dengan kesalahan otorisasi?
Metode langganan memerlukan pengguna yang terotorisasi. Otorisasi terlebih dahulu melalui modul AuthProvider, kemudian panggil subscribeByMarker / subscribeToForm. getAllEvents() berfungsi tanpa otorisasi.
🎓 Praktik Terbaik
- Otorisasi pengguna sebelum memanggil metode langganan apa pun.
- Gunakan marker acara yang deskriptif (misalnya
product_back_in_stock,product_price_drop). - Selalu tawarkan jalur berhenti berlangganan yang mudah (
unsubscribeByMarker/unsubscribeFromForm). - Tangani kesalahan langganan dengan baik dan periksa bentuk pengembalian
IError.
🔗 Dokumentasi Terkait
- Modul AuthProvider - Otorisasi pengguna sebelum mengelola langganan
- Modul Produk - Mengelola produk yang memicu acara
- Modul Formulir - Formulir yang pengirimannya dapat dilanggan
- Modul Pengguna - Mengelola pengguna yang berlangganan notifikasi