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.
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à
| Metodo | AudinChat (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>;
};
}): voidTipicamente è 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.
| Evento | AudinChat (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
Dati utente & lead matching
Passare email, telefono, nome e dati custom dell'utente loggato al widget Audin per collegare la conversazione a un lead, e come funziona il visitorId.
Configurazione & comportamento
Cosa si configura nel dashboard vs lato codice, come usare il widget Audin in una single-page application, far coesistere popup ed embedded e una nota su iframe e CSP.