Кнопка звонка на вашем сайте, на которую отвечает агент
WebRTC-клиент позволяет посетителю позвонить агенту из браузера. Ваш бэкенд запрашивает у платформы временный пароль, передаёт его странице, и страница начинает звонок одним скриптом. Секретный ключ никогда не попадает в браузер.
Создание клиента
В разделе Телефония › WebRTC-клиенты выберите агента и перечислите домены, где будет использоваться кнопка, добавив localhost для локальных тестов. Вы получите имя клиента (wc_…) и секретный ключ (wk_…), который показывается только один раз.
1. Ваш бэкенд запрашивает временный пароль
Пароль действует 60 секунд и на один звонок.
curl -X POST https://developers.swissai.dev/api/webrtc/token \
-H "X-Api-Key: wk_ваш_секретный_ключ" \
-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. Страница начинает звонок
Загрузите скрипт и передайте ему ответ как есть. onState получает connecting, calling, connected и idle; onError — причину, если звонок не может начаться.
<button id="call">Позвонить нам</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(); // ваш бэкенд
SwissCall.start(params, { onState: s => console.log(s), onError: m => alert(m) });
};
</script>
Тот же агент, те же инструменты, и в тексте тоже
Агент за кнопкой — тот же, что отвечает на телефон, со своим промптом и инструментами. С тем же именем клиента и ключом ваш бэкенд может отправлять ему текстовые сообщения через chat API и читать звонки и расходы клиента через GetCalls. Оба вызова можно опробовать в тестовой области панели с кодом для копирования.
Частые вопросы
Почему пароль приходит от моего бэкенда?
Потому что секретный ключ должен оставаться на сервере. Страница видит только пароль, действующий 60 секунд и на один звонок.
Какие браузеры работают?
Любой современный браузер с WebRTC и доступом к микрофону, на компьютере и мобильном.
Стоят ли звонки из браузера столько же, сколько телефонные?
Да. Они считаются минутами тарифа, как и любой другой звонок.
Похожие страницы
- SIP URI для каждого голосового агента
- Инструменты: агент вызывает ваши HTTP-эндпоинты
- Первая линия поддержки по телефону силами ИИ-агента
Проверьте на своих звонках
Создайте аккаунт, настройте агента в панели и позвоните ему из браузера. Бесплатный пробный период 30 дней со 100 минутами, карта не нужна.
Начать бесплатноПоговорить с демо-агентом