SDK Events & Callbacks
Vonip menggunakan pola event-emitter sederhana: Vonip.on(event, callback).
Daftar Event
| Event | Payload | Kapan dipicu |
|---|---|---|
open |
undefined |
Modal mulai muncul. |
close |
undefined |
Modal ditutup. |
voice-selected |
{ voice: string } |
User memilih voice di modal. |
generated |
GeneratedPayload |
Audio berhasil dibuat. |
error |
{ message: string } |
Terjadi error. |
Contoh lengkap
Vonip.init({ apiKey: "pk_test_xxx" });
Vonip.on("open", () => console.log("modal terbuka"));
Vonip.on("close", () => console.log("modal ditutup"));
Vonip.on("voice-selected", ({ voice }) => {
console.log("user pilih:", voice);
});
Vonip.on("generated", ({ audioUrl, voice, kind }) => {
// Kirim ke backend host untuk disimpan / dikaitkan ke pesan, dsb.
fetch("/api/voice-notes", {
method: "POST",
body: JSON.stringify({ audioUrl, voice, kind }),
});
});
Vonip.on("error", ({ message }) => {
toast.error(message);
});
Unsubscribe
const fn = (d) => console.log(d);
Vonip.on("generated", fn);
Vonip.off("generated", fn);