Audin Docs
Widget

API & eventi

L'API JavaScript del widget Audin — i metodi e gli eventi di AudinChat (popup) e AudinEmbed (embedded), con le differenze tra le due modalità.

Versione Markdown di questa pagina

Scarica o copia il contenuto di questa pagina in formato .md — utile per fornirlo a un agente AI che integra questa specifica feature.

Scarica .md

Una volta caricato lo script, il widget espone un oggetto globale su window che puoi usare per inizializzarlo, controllarlo e reagire agli eventi:

  • Popup → window.AudinChat
  • Embedded → window.AudinEmbed

I due oggetti condividono il modello (init, on, destroy), ma non hanno la stessa superficie: il popup, avendo una bolla che si apre e si chiude, espone in più open()/close() e i relativi eventi. L'embedded è sempre inline, quindi non ha né open/close né quegli eventi.

Metodi per modalità

MetodoAudinChat (popup)AudinEmbed (embedded)
init(options?)✓✓
on(event, cb)✓✓
destroy()✓✓
open()✓—
close()✓—

init(options?)

Inizializza il widget: inietta l'iframe della chat e avvia la connessione. Va chiamato una sola volta — chiamate successive sono ignorate (no-op).

L'unico argomento è l'oggetto opzioni, con un solo campo documentato:

init(options?: {
  user?: {
    email?: string;
    phone?: string;
    fullName?: string;
    customData?: Record<string, unknown>;
  };
}): void

Tipicamente è già richiamato dallo snippet di installazione nell'handler onload del loader. Vedi Dati utente & lead matching per il dettaglio dei campi user.

open() / close() — solo popup

Apre o chiude la bolla della chat a livello di codice, senza che l'utente clicchi. Esistono solo su AudinChat:

// Apri la chat da un tuo bottone
document.querySelector("#aiuto").addEventListener("click", () => {
  AudinChat.open();
});

// Chiudila programmaticamente
AudinChat.close();

L'embedded è sempre visibile inline, quindi non espone questi metodi.

on(event, cb)

Sottoscrive una callback a un evento del widget (vedi Eventi). Disponibile su entrambe le modalità (cambiano gli eventi emessi):

AudinChat.on("message", (data) => {
  console.log("Nuovo messaggio nella chat", data);
});

destroy()

Smonta il widget: rimuove l'iframe dalla pagina e chiude la connessione. Disponibile su entrambe le modalità. Utile nelle single-page application quando devi rimuovere completamente il widget (vedi Configurazione & comportamento).

Eventi

Ti iscrivi agli eventi con on(event, cb). Anche gli eventi disponibili dipendono dalla modalità: solo il popup ha apertura/chiusura, quindi solo lui emette open e close. Entrambe le modalità emettono message.

EventoAudinChat (popup)AudinEmbed (embedded)Quando
message✓✓È arrivato un messaggio nella chat. La callback riceve il data del messaggio.
open✓—La bolla della chat si apre.
close✓—La bolla della chat si chiude.

L'embedded emette solo message: essendo sempre inline non ha uno stato aperto/chiuso e quindi non genera open/close. Iscriversi a open/close su AudinEmbed non produce errori, ma le callback non verranno mai chiamate.

Esempio — popup

AudinChat.on("open", () => {
  // es. tracking: la chat è stata aperta
});

AudinChat.on("close", () => {
  // es. tracking: la chat è stata chiusa
});

AudinChat.on("message", (data) => {
  // un messaggio è arrivato nella conversazione
});

Esempio — embedded

AudinEmbed.on("message", (data) => {
  // un messaggio è arrivato nella conversazione inline
});

Il payload dell'evento message (data) rappresenta il messaggio ricevuto nella chat. Trattalo come un valore opaco per integrazioni semplici (es. logging, tracking dell'attività): la sua struttura interna non fa parte della superficie pubblica e può cambiare.

Prossimi passi

On this page