Callback Widget
Callback Widget — это небольшая встраиваемая форма, позволяющая посетителям сайта оставить телефон и получить обратный звонок от AI-агента — обычно в течение секунд. Вместо того чтобы просить посетителя набирать самому, разговор приходит к нему.
Это пятый тип виджета вместе с Floating, Pill, Inline и Popup — но работает он иначе. Остальные виджеты стартуют голосовой разговор в браузере. Callback Widget ставит в очередь реальный телефонный звонок, который агент совершает через ваш исходящий номер.
Когда использовать
| Сценарий | Почему подходит |
|---|---|
| Лендинги для лид-гена | Посетитель отдаёт номер, агент квалифицирует за следующую минуту |
| Страницы с высоким интентом продукта | «Поговорить со специалистом» без необходимости набирать |
| Mobile-first сайты | Один тап по pill — без запроса разрешений, без наушников |
| Покрытие вне рабочих часов | Посетитель оставляет номер после часов, агент звонит при открытии очереди |
| Снижение трения vs форм | Посетители отправляют одно поле и получают мгновенный ответ |
Условия
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.
Есть rate-limit на номер (номер можно поставить в очередь несколько раз в час для того же агента), чтобы предотвратить злоупотребления. Посетители, упёршиеся в него, видят дружелюбное «свяжемся в ближайшее время» вместо queued-экрана.
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, Inline и Popup для разговоров в браузере
- Settings — настройки звонка уровня агента, включая Max Call Duration, ограничивающий callback
- Телефонные номера — подключите исходящий номер, с которого набирает callback widget
- FAQ — частые вопросы и крайние случаи