Vai al contenuto

Canale Widget — Panoramica

Il Canale Widget riceve richieste di assistenza e preventivo dal sito web. I visitatori aprono una chat sul sito; i messaggi arrivano in Quoting24 come ticket e gli operatori rispondono dall’interfaccia abituale, con la stessa logica già usata per gli altri canali.

L’interfaccia è in un iframe. Nel sito ospitante bastano uno script e, quando i dati sono già noti, una chiamata a init(). Non servono Angular, un client Supabase o accesso diretto al database di Quoting24.


Quale integrazione serve

Associare un’azienda e recuperare la cronologia sono operazioni distinte. external_id, company_name, name, phone e email non autorizzano l’accesso alle conversazioni di un’altra persona. Un utente già autenticato nel sito resta un ospite del widget finché il sito non passa una credenziale di ripristino valida.

Caso Cosa implementare Continuità Sezione
Sito pubblico, visitatore sconosciuto Solo lo script. Il visitatore compila il modulo di contatto. Sessione ospite nello stesso browser Widget B2C
Sito che conosce già profilo e azienda Script e init() con il profilo e i dati dell’azienda Sessione ospite precompilata e associazione aziendale Widget B2C
Portale con cronologia personale tra dispositivi Anche un’integrazione backend per external_user_id e restore_id Cronologia personale nel canale widget autorizzato Widget B2B
Contratto dei campi, CSP, login/logout, provisioning Guida per sviluppatori — Integrazione tecnica

Cosa fa il widget

  • Mostra un pulsante flottante oppure una chat incorporata in pagina
  • Per un nuovo visitatore apre il modulo con le etichette Telefono e Nome. In init() i campi si chiamano phone e name; l’email, se il sito la conosce, si chiama email
  • Se il sito chiama init(), usa i dati già disponibili e può collegare il contatto a un’azienda tramite external_id (web_code). Se l’azienda manca e arriva anche company_name, può crearla
  • Apre una conversazione gestita in Quoting24 come gli altri canali
  • Accetta allegati PDF, DOC/DOCX, JPG/JPEG e PNG, fino a 10 MiB per file e 100 MiB di allegati referenziati per conversazione
  • Mostra saluto, benvenuto e, fuori orario, il banner configurato. La composizione dei messaggi resta disponibile

Il loader conserva la credenziale ospite nel localStorage del sito, separata per chiave widget. Se lo storage è bloccato, la continuità può limitarsi alla pagina corrente. La sessione ospite permette di rileggere la conversazione più recente anche dopo la chiusura, nello stesso browser. Su un altro dispositivo serve il ripristino autenticato.


Dove si configura in Quoting24

  1. Apri Impostazioni → Canali
  2. Seleziona il canale di tipo Widget
  3. Apri la configurazione

Da lì si impostano:

  • logo, colore principale, posizione del pulsante
  • messaggio di saluto, messaggio di benvenuto, messaggio fuori orario
  • domini consentiti
  • codice di incorporamento (URL completo dello script e chiave pubblica del widget)

Gli orari del canale determinano il banner fuori orario.

Chiedi all’amministratore il codice di incorporamento e i domini autorizzati, compresi collaudo e sviluppo locale. Usa URL e chiave dello stesso ambiente. Negli esempi, HOST_WIDGET e CHIAVE_PUBBLICA_WIDGET vanno sostituiti con i valori ricevuti.

I domini autorizzati sono nomi host, per esempio shop.example.com o localhost, senza https://, porta, percorso o prefisso *.. example.com autorizza anche i suoi sottodomini. Una lista vuota non applica restrizioni di dominio. Per il collaudo locale servi la pagina via HTTP: aprirla come file non basta.

Logo, colore, posizione e messaggi si configurano in Quoting24. Il company_name passato a init() è la ragione sociale del cliente, non il titolo del widget. Non esiste un parametro pubblico language o locale: l’interfaccia attuale è in italiano.


Due modi di mostrarlo sul sito

Pulsante flottante

Lo script aggiunge il pulsante dopo il caricamento delle impostazioni grafiche. Al click si apre la chat. Su mobile la chat flottante si espande fino a occupare il viewport.

Vedi Widget B2C.

Chat incorporata

La chat occupa un contenitore della pagina, con altezza esplicita. Non c’è pulsante flottante: layout e titolo li fornisce il sito. In questa modalità open(), close() e toggle() non hanno effetto. Il sito controlla altezza e larghezza del contenitore.

Vedi Widget B2C.

Una sola istanza per pagina: il loader espone un unico window.Quoting24Widget. Un secondo script non crea un secondo widget.


Chiave pubblica e segreti

Valore Dove sta A cosa serve
Chiave pubblica del widget URL dello script Seleziona il canale. È pubblica: non è una credenziale personale né un segreto di integrazione backend
Segreto privato dell’integrazione Solo nel backend del sito Autorizza la creazione e il riutilizzo di restore_id
restore_id Archivio privato per utente, nel backend Credenziale con cui ripristinare la cronologia di quella persona su quel widget
Credenziale sessione ospite localStorage del sito, gestita dal loader Continuità ospite nello stesso browser, per chiave widget

Flusso per l’operatore

  1. Il visitatore apre la chat sul sito e invia un messaggio
  2. In Quoting24 nasce o continua un ticket sul canale Widget
  3. Se l’inizializzazione ha risolto un external_id, il contatto risulta collegato all’azienda con quel web_code. Un’azienda appena creata dal widget ha ragione sociale e, se inviata, email; un’azienda già presente non viene rinominata da init()
  4. L’operatore gestisce la richiesta e risponde dalla chat
  5. Il cliente vede le risposte nel widget

I messaggi del widget si eliminano solo per tutti.

Il dato arriva dal browser e il visitatore può modificarlo. Il collegamento all’azienda non dimostra identità e non apre la cronologia degli altri contatti di quell’azienda.


Da dove iniziare

  1. Configura aspetto, orari e domini in Impostazioni → Canali → Widget
  2. Sito pubblico o portale che precompila il profilo: Widget B2C
  3. Cronologia della stessa persona su un altro browser: Widget B2B
  4. Campi, creazione azienda, CSP e checklist: Integrazione tecnica