Callback Widget
Callback Widget — это небольшая встраиваемая форма, позволяющая посетителям сайта оставить телефон и получить обратный звонок от AI-агента — обычно в течение секунд. Вместо того чтобы просить посетителя набирать самому, разговор приходит к нему.
Это пятый тип виджета вместе с Floating, Pill, Pill Floating и Inline — но работает он совсем иначе. Остальные виджеты стартуют голосовой разговор в браузере. Callback Widget ставит в очередь реальный телефонный звонок, который агент совершает через ваш исходящий номер.
Когда использовать
| Сценарий | Почему подходит Callback Widget |
|---|---|
| Лендинги для лид-гена | Посетитель отдаёт номер, агент квалифицирует его за следующую минуту |
| Страницы продукта с высоким интентом | «Поговорить со специалистом» без необходимости набирать номер |
| Mobile-first сайты | Один тап по pill — без запроса разрешений, без наушников |
| Покрытие вне рабочих часов | Посетитель оставляет номер после часов, агент звонит при открытии очереди |
| Меньше трения, чем у форм | Посетитель отправляет одно поле и получает мгновенный ответ |
Условия доступа
Callback Widget требует трёх вещей на аккаунте, прежде чем его можно будет включить:
| Требование | Зачем |
|---|---|
| Платный тариф (Starter или выше) | Исходящие минуты, потраченные во время callback, тарифицируются поминутно |
| Верифицированный исходящий номер, назначенный агенту | Агенту нужен реальный номер, с которого набирать |
| Верифицированный email в рабочем пространстве | Подтверждает владение перед открытием исходящих звонков |
Если что-то из этого отсутствует, раздел Callback widget на вкладке Widgets агента показывает алерт с точным указанием, что починить. Виджет остаётся отключённым, пока все три условия не выполнены.
Callback Widget недоступен на тарифе Free, потому что совершает исходящие телефонные звонки. Все остальные типы виджетов (Floating, Pill, Inline) остаются бесплатными.
Настройка
1. Включите callback на агенте
- Откройте агента и перейдите на вкладку Widgets.
- Прокрутите до раздела Callback widget.
- Включите «Enable callback widget».
- Настройте:
- Retry attempts — сколько раз агент повторяет попытку, если посетитель не берёт трубку (1–5, по умолчанию 3).
- Retry interval — минут между попытками (1–30, по умолчанию 5).
- Widget language — язык, на котором форма, статусные сообщения и country picker обращаются к посетителю (доступно 14 языков — см. ниже).
- Theme — цветовая схема плавающего pill и диалога (использует ту же палитру тем, что и другие виджеты).
- Сохраните.
Живое превью виджета появляется рядом с настройками, чтобы вы сразу видели изменения — не нужно деплоить сайт для проверки внешнего вида.
2. Скопируйте embed-сниппет
В том же разделе скопируйте HTML-сниппет:
<hanc-ai-callback agent-id="YOUR_AGENT_ID"></hanc-ai-callback>
<script src="https://unpkg.com/hanc-webrtc-widgets@latest" async type="text/javascript"></script>
Вставьте его один раз на сайт, обычно прямо перед </body>. Виджет появится плавающим pill в углу страницы.
Тег @latest означает, что сайт автоматически подхватывает новые версии виджета при их выпуске. Закрепите конкретную версию (например, hanc-webrtc-widgets@1.4.0), если хотите полностью контролировать обновления.
Что видит посетитель
Виджет проводит посетителей через четыре состояния:
| Состояние | Что видит посетитель |
|---|---|
| Form | Плавающий pill в углу. Клик — открыть. Country picker слева, поле телефона справа, кнопка отправки. |
| Queued | «Вы в очереди — около N секунд до звонка». Обновляется живьём. |
| Dialing | «Звоним вам сейчас». Держится, пока звонок не соединится или не сорвётся. |
| Completed / Failed | Короткое подтверждение или дружелюбная ошибка с подсказкой «перезагрузите страницу, чтобы сделать ещё один callback». |
Форма авто-валидирует номер против национального формата выбранной страны и не пропускает отправку, если номер выглядит неправдоподобно.
Покрытие стран
Country picker покрывает Европу (EU + DACH + UK), Северную Америку (US + Canada) и подобранный набор широко поддерживаемых дополнительных стран. У каждой страны показаны флаг, название и пример-плейсхолдер в нативном формате, чтобы посетитель знал, что вводить.
Если страны, которой пользуются ваши посетители, нет в списке, напишите на support@hanc.ai — покрытие регулярно расширяется.
HTML-атрибуты
Виджет принимает эти атрибуты на теге <hanc-ai-callback>:
| Атрибут | Обязательно | Описание |
|---|---|---|
agent-id | Да | Уникальный идентификатор агента |
locale | Нет | Переопределить язык UI виджета для этой страницы (например, locale="de"). Полезно, если сайт мультиязычный, а язык страницы не совпадает с языком по умолчанию у агента. |
theme | Нет | Переопределить цветовую тему для этой страницы |
position | Нет | Где закрепляется плавающий pill (bottom-right, bottom-left, top-right, top-left) |
Всё, что вы не указали, берётся из того, что настроено у агента в панели.
Пример: немецкая страница на мультиязычном сайте
<hanc-ai-callback agent-id="YOUR_AGENT_ID" locale="de"></hanc-ai-callback>
<script src="https://unpkg.com/hanc-webrtc-widgets@latest" async></script>
Текст pill, лейблы диалога, country picker и статусные сообщения переключаются на немецкий. Сам агент по-прежнему говорит на том языке, на который настроен — locale влияет только на то, что посетитель читает на странице.
Язык виджета
UI виджета поставляется с 14 встроенными языками:
| Код | Язык |
|---|---|
en | English |
de | Deutsch |
fr | Français |
es | Español |
it | Italiano |
pt | Português |
pl | Polski |
cs | Čeština |
hu | Magyar |
tr | Türkçe |
kk | Қазақша |
zh | 中文 |
ru | Русский |
uk | Українська |
Виджет берёт язык из трёх мест, по приоритету:
- Атрибут
locale="…"на embed (высший приоритет) - Widget language в настройках агента на вкладке Widgets
- Английский (по умолчанию)
Язык виджета влияет только на экранный текст, который читает посетитель — лейблы, country picker, статусные сообщения. Сам голосовой разговор идёт на том языке, на который настроен ваш агент.
Поведение retry
Если посетитель не берёт трубку с первой попытки, агент ждёт настроенный интервал и звонит снова — вплоть до настроенного числа попыток.
- Попыток: 1–5 (по умолчанию 3)
- Интервал: 1–30 минут (по умолчанию 5)
Виджет показывает посетителю статус каждой попытки. После того как все попытки провалились, виджет переключается в состояние «не дозвонились» с вежливым сообщением.
Три попытки с интервалом в пять минут хорошо работают для большинства лидген-страниц — достаточно быстро, чтобы посетитель ещё был на сайте, и достаточно мягко, чтобы не казаться навязчивым. Увеличьте значения, если ваша аудитория склонна игнорировать неизвестные номера.
Один callback на загрузку страницы
Как только посетитель отправил свой номер, виджет блокируется до конца жизни этой страницы:
- Закрытие диалога сворачивает pill, но не сбрасывает форму.
- Повторное открытие показывает текущее состояние (queued / dialing / completed / failed), а не свежую форму.
- Чтобы сделать второй callback, посетителю нужно перезагрузить страницу.
Это предотвращает случайные дубли отправки, пока звонок уже в пути. Если посетитель явно отменяет свой очерёдный callback из диалога (кнопка «Cancel» на экране queued), блокировка снимается, и он может сразу отправить заново.
Что если перезагрузить страницу в середине callback?
Если посетитель перезагружает страницу, пока агент ещё повторяет звонки на его номер, виджет определяет, что активный callback на тот же номер уже существует, и тихо переподключается к нему — никакого дубль-набора, никакой второй записи в очереди. Посетитель просто видит, как его текущий статус продолжается с того места, где остановился.
Concurrency и пропускная способность
Один агент может держать до 10 callback одновременно. Отправки сверх этого ждут в очереди и набираются по мере освобождения ёмкости.
Очередь дренируется непрерывно — большинство посетителей дозваниваются в течение нескольких секунд после отправки, если вы не близко к лимиту concurrency.
Защита от спама и злоупотреблений
Callback Widget совершает реальные телефонные звонки, поэтому в него встроены механизмы защиты, не дающие вредному трафику накрутить ваш счёт. Они работают автоматически — настраивать ничего не нужно.
| Механизм | Что видит посетитель |
|---|---|
| Проверка «Я не робот» | Когда на платформе включена защита от злоупотреблений, посетитель проходит быструю Google reCAPTCHA перед постановкой callback в очередь. Настоящие посетители проходят её за секунду; боты останавливаются. |
| Валидация номера | Форма не пропускает отправку номера, который неправдоподобно соответствует выбранной стране, так что опечатки и мусорные номера никогда не набираются. |
| Premium-rate и номера вне зоны покрытия | На premium-rate линии, некоторые VoIP-диапазоны и номера вне поддерживаемого покрытия обратный звонок по телефону не совершается. Если браузер посетителя это поддерживает, виджет вместо этого предлагает голосовой звонок прямо в браузере; иначе посетитель видит вежливое сообщение «мы не можем позвонить на этот номер». Это не даёт использовать виджет для набора дорогих premium-номеров. |
| Лимит повторных отправок | Один и тот же номер можно поставить в очередь лишь ограниченное число раз в час для одного агента. Посетители, превысившие лимит, видят дружелюбное «свяжемся в ближайшее время» вместо queued-экрана. |
Эти меры защиты существуют потому, что публичная форма обратного звонка — очевидная мишень для злоупотреблений: иначе кто-то мог бы направить её на premium-rate номера или забить ботами, чтобы сжечь ваши исходящие минуты. Механизмы защиты работают тихо в фоне; обычные посетители их никогда не замечают.
Live-превью в панели
Вкладка Widgets показывает живое превью callback-виджета рядом с настройками. Любое изменение — тема, язык, retry-числа — обновляет превью мгновенно. Не нужно деплоить сайт, чтобы увидеть, как будет выглядеть виджет.
Превью использует мок-манифест с полным списком стран и demo-eligibility, так что виджет отрисовывается даже на тарифах, где исходящие callback ещё недоступны.
Встроенный трекинг
Виджет генерирует те же события call-start и call-end, что и другие виджеты. Слушайте их в JavaScript, если хотите запускать свою собственную аналитику:
const widget = document.querySelector('hanc-ai-callback');
widget.addEventListener('call-start', () => {
// Callback посетителя только что соединился — трекаем как конверсию
});
widget.addEventListener('call-end', () => {
// Callback завершён — трекаем длительность, исход и т. д.
});
Доступность по тарифам
| Тариф | Callback Widget |
|---|---|
| Free | Недоступно (требуется исходящий обзвон) |
| Starter / Pro / Business / Enterprise | Доступно |
Все платные тарифы получают одинаковый набор возможностей виджета. Стоимость за звонок следует вашей обычной исходящей ставке — см. Оплата.
Связанное
- Виджеты для сайта — типы Floating, Pill, Pill Floating и Inline для разговоров в браузере
- Settings — настройки звонка уровня агента, включая Max Call Duration, который также ограничивает callback
- Телефонные номера — подключите исходящий номер, с которого будет набирать ваш callback widget
- FAQ — частые вопросы и крайние случаи