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);