Solutions · Pour les développeurs

Un bouton d'appel sur votre site, avec l'agent qui répond

Un client WebRTC permet à un visiteur d'appeler l'agent depuis le navigateur. Votre backend demande à la plateforme un mot de passe temporaire, le transmet à la page, et la page lance l'appel avec un script. La clé secrète n'atteint jamais le navigateur.

Créer le client

Dans Téléphonie › Clients WebRTC, choisissez l'agent et listez les domaines où le bouton sera utilisé, avec localhost pour les tests locaux. Vous obtenez le nom du client (wc_…) et une clé secrète (wk_…), affichée une seule fois.

1. Votre backend demande un mot de passe temporaire

Le mot de passe est valable 60 secondes et pour un seul appel.

curl -X POST https://developers.swissai.dev/api/webrtc/token \
  -H "X-Api-Key: wk_votre_cle_secrete" \
  -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 page lance l'appel

Chargez le script et passez-lui la réponse telle quelle. onState reçoit connecting, calling, connected et idle ; onError la raison quand l'appel ne peut pas démarrer.

<button id="call">Appelez-nous</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(); // votre backend
  SwissCall.start(params, { onState: s => console.log(s), onError: m => alert(m) });
};
</script>

Même agent, mêmes outils, aussi par écrit

L'agent derrière le bouton est le même que celui qui répond au téléphone, avec son prompt et ses outils. Avec le même nom de client et la même clé, votre backend peut aussi lui envoyer des messages texte via l'API de chat et lire les appels et les coûts du client avec GetCalls. Les deux appels se testent depuis la zone de test du tableau de bord, avec le code à copier.

Questions fréquentes

Pourquoi le mot de passe vient-il de mon backend ?

Parce que la clé secrète doit rester sur le serveur. La page ne voit qu'un mot de passe valable 60 secondes et pour un appel.

Quels navigateurs fonctionnent ?

Tout navigateur moderne avec WebRTC et accès au micro, sur ordinateur et mobile.

Les appels depuis le navigateur coûtent-ils autant que les appels téléphoniques ?

Oui. Ils comptent comme des minutes du forfait comme tout autre appel.

Pages liées

Essayez-le avec vos propres appels

Créez un compte, configurez l'agent dans le tableau de bord et appelez-le depuis le navigateur. Essai gratuit de 30 jours avec 100 minutes, sans carte bancaire.

Commencer gratuitementParler à l'agent de démonstration