Prerequisiti
Dall’operatore dell’area di lavoro (o da Impostazioni → Integrazioni → Canali → Widget per sito web se sei tu):- Lo snippet di installazione (o anche solo lo slug del widget e l’URL base dell’API).
- La conferma che l’origine del tuo sito sia nell’elenco delle origini consentite del widget — lo schema + host esatti, ad es.
https://www.example.com.wwwe apex sono origini diverse; aggiungile entrambe se entrambe servono il sito.
https://api.switchbord.ai. Le istanze self-hosted sostituiscono il proprio dominio API ovunque appaia qui sotto.
Lo snippet
Incolla questo prima del tag di chiusura</body> in ogni pagina che deve mostrare il widget:
Ricette per framework
HTML semplice / qualsiasi sito renderizzato lato server
HTML semplice / qualsiasi sito renderizzato lato server
Incolla lo snippet prima di
</body> nel tuo layout/template di base così che appaia su ogni pagina. Fatto.Next.js (App Router)
Next.js (App Router)
Usa Non renderizzare lo script all’interno di pagine che si rimontano alla navigazione — il loader è idempotente (non creerà un secondo iframe), ma caricarlo una sola volta nel layout è più pulito.
next/script nel layout radice così che il widget si carichi una volta per sessione di navigazione, solo lato client:React (SPA Vite / CRA)
React (SPA Vite / CRA)
Caricalo una volta in un effect di primo livello:
Google Tag Manager
Google Tag Manager
Crea un tag Custom HTML contenente lo snippet, attivalo su All Pages (o con un trigger basato sul percorso della pagina se lo vuoi solo su alcune pagine) e pubblica. Ricorda che GTM viene eseguito dall’origine del tuo sito, quindi il requisito dell’allowlist delle origini rimane invariato.
WordPress
WordPress
Puoi incollare lo snippet nel
footer.php del tuo tema prima di </body>, oppure usare un qualsiasi plugin “insert headers and footers” e posizionarlo nella sezione footer. Le piattaforme site-builder (Webflow, Squarespace, Shopify) hanno tutte un’impostazione equivalente di “codice personalizzato prima di </body>”.Content-Security-Policy
Se il tuo sito applica una CSP, consenti l’origine dell’API di Switchbord in queste direttive:SDK JavaScript
Il loader esponewindow.SwitchbordWidget:
Eventi per
on(event, fn):
Identità firmata (Secure Mode)
Se il tuo sito ha utenti autenticati, genera un JWT HS256 a breve scadenza sul tuo server e passalo alogin() così che Switchbord sappia in modo verificabile chi è il visitatore. I visitatori verificati riprendono la conversazione tra dispositivi, e gli operatori vedono i dettagli di contatto verificati invece di sessioni anonime.
Configurazione:
- In Switchbord, genera il segreto di firma dell’identità del widget sotto Impostazioni → Integrazioni → Segreti dei provider (
widget-identity-secret). Viene memorizzato nel Vault dell’area di lavoro; il browser non lo vede mai. - Imposta la modalità di identità del widget nelle impostazioni del widget (e opzionalmente Richiedi identità per bloccare la messaggistica fino al login).
- Genera i token lato server con questi claim:
Verifica dell’installazione
- Apri il tuo sito — la bolla launcher appare in basso a destra (o in basso a sinistra a seconda del tema) entro un secondo o due.
curl https://api.switchbord.ai/api/v1/widgets/YOUR_WIDGET_SLUG/configrestituisce200con il JSON di configurazione del widget.- Invia un messaggio di prova dal widget — appare nella posta in arrivo di Switchbord in tempo reale.
- Rispondi dalla posta in arrivo — il visitatore la vede (con il nome dell’operatore) entro pochi secondi; se il pannello è chiuso, appare un badge di non letto sul launcher.
- Se la modalità AI è bozza o invio automatico, il messaggio di prova produce una bozza GBCA (o una risposta autonoma) dopo un breve debounce.
Risoluzione dei problemi
Prompt di installazione per agenti di coding AI
Consegna questo prompt a Cursor, Claude Code, Copilot o a qualsiasi agente di coding che lavora sul tuo sito web. Sostituisci i due segnaposto, incollalo e lascialo lavorare. Il prompt è volutamente in inglese, perché è pensato per essere incollato così com’è negli agenti di coding.Test in localhost: aggiungi
http://localhost:3000 (o la tua porta di sviluppo) alle origini consentite del widget durante lo sviluppo, e rimuovilo prima del go-live. Un’allowlist vuota consente tutte le origini — va bene per un primo smoke test, non per la produzione.