Soluções · Para programadores

Um botão de chamada no seu site, atendido pelo agente

Um cliente WebRTC permite a um visitante ligar ao agente a partir do browser. O seu backend pede à plataforma uma palavra-passe temporária, entrega-a à página, e a página inicia a chamada com um script. A chave secreta nunca chega ao browser.

Criar o cliente

Em Telefonia › Clientes WebRTC escolha o agente e liste os domínios onde o botão será usado, com localhost para testes locais. Obtém o nome do cliente (wc_…) e uma chave secreta (wk_…), mostrada apenas uma vez.

1. O seu backend pede uma palavra-passe temporária

A palavra-passe é válida por 60 segundos e para uma única chamada.

curl -X POST https://developers.swissai.dev/api/webrtc/token \
  -H "X-Api-Key: wk_a_sua_chave_secreta" \
  -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. A página inicia a chamada

Carregue o script e passe-lhe a resposta tal como está. onState recebe connecting, calling, connected e idle; onError o motivo quando a chamada não pode começar.

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

Mesmo agente, mesmas ferramentas, também em texto

O agente por trás do botão é o mesmo que atende o telefone, com o seu prompt e as suas ferramentas. Com o mesmo nome de cliente e a mesma chave, o seu backend também pode enviar-lhe mensagens de texto através da API de chat e ler as chamadas e os custos do cliente com GetCalls. Ambas as chamadas podem ser experimentadas na área de testes do painel, com o código para copiar.

Perguntas frequentes

Porque é que a palavra-passe vem do meu backend?

Porque a chave secreta tem de ficar no servidor. A página só vê uma palavra-passe válida por 60 segundos e para uma chamada.

Que browsers funcionam?

Qualquer browser moderno com WebRTC e acesso ao microfone, em desktop e móvel.

As chamadas pelo browser custam o mesmo que as telefónicas?

Sim. Contam como minutos do plano como qualquer outra chamada.

Páginas relacionadas

Experimente com as suas próprias chamadas

Crie uma conta, configure o agente no painel e ligue-lhe a partir do browser. Teste gratuito de 30 dias com 100 minutos, sem cartão.

Começar gratuitamenteFalar com o agente de demonstração