Soluzioni · Per sviluppatori

Un pulsante di chiamata sul tuo sito, con l'agente che risponde

Un client WebRTC permette a un visitatore di chiamare l'agente dal browser. Il tuo backend chiede alla piattaforma una password temporanea, la passa alla pagina, e la pagina avvia la chiamata con uno script. La chiave segreta non arriva mai al browser.

Crea il client

In Telefonia › Client WebRTC scegli l'agente ed elenca i domini dove userai il pulsante, con localhost per le prove in locale. Ottieni il nome del client (wc_…) e una chiave segreta (wk_…), mostrata una sola volta.

1. Il tuo backend chiede una password temporanea

La password vale 60 secondi e per una sola chiamata.

curl -X POST https://developers.swissai.dev/api/webrtc/token \
  -H "X-Api-Key: wk_la_tua_chiave" \
  -H "Content-Type: application/json" \
  -d '{"client": "wc_3f9a1c2b7d4e", "identity": "visitor-1842"}'

// 200
{ "wss": "wss://pbx.swissai.dev:8089", "domain": "pbx.swissai.dev",
  "user": "w4c1f09ab37de5521", "pass": "…", "target": "sip:ag_7f3a2b91@pbx.swissai.dev", "expires_in": 60 }

2. La pagina avvia la chiamata

Carica lo script e passagli la risposta così com'è. onState riceve connecting, calling, connected e idle; onError il motivo quando la chiamata non può partire.

<button id="call">Chiamaci</button>
<script src="https://developers.swissai.dev/js/call.js"></script>
<script>
document.getElementById('call').onclick = async () => {
  const params = await (await fetch('/call-token', { method: 'POST' })).json(); // il tuo backend
  SwissCall.start(params, { onState: s => console.log(s), onError: m => alert(m) });
};
</script>

Stesso agente, stessi tool, anche in chat

L'agente dietro il pulsante è lo stesso che risponde al telefono, con il suo prompt e i suoi tool. Con lo stesso nome del client e la stessa chiave il tuo backend può anche mandargli messaggi di testo tramite l'API chat e leggere chiamate e costi del cliente con GetCalls. Entrambe le chiamate si provano dall'Area test del pannello, con il codice da copiare.

Domande frequenti

Perché la password arriva dal mio backend?

Perché la chiave segreta deve restare sul server. La pagina vede solo una password valida 60 secondi e per una chiamata.

Quali browser funzionano?

Qualsiasi browser moderno con WebRTC e accesso al microfono, su desktop e mobile.

Le chiamate dal browser costano come quelle telefoniche?

Sì. Contano come minuti del piano come tutte le altre chiamate.

Pagine correlate

Provalo con le tue chiamate

Crea un account, configura l'agente dal pannello e chiamalo dal browser. Prova gratuita di 30 giorni con 100 minuti, nessuna carta richiesta.

Inizia gratisParla con l'agente demo