Skip to main content

Як додати

Додайте голосового агента на будь-який сайт через діалог «Configure Widget» у налаштуваннях агента. Крок 1: Відкрийте налаштування агента, натиснувши іконку шестерні у верхньому правому куті редактора агента. Відкрийте налаштування агента Крок 2: Прокрутіть до розділу Add to Website і натисніть Configure Widget. Перейдіть до Add to Website Крок 3: Увімкніть вбудовування, додайте домен вашого сайту в Allowed Domains, оберіть Floating Widget, Inline Component або Headless (Bring Your Own UI), за потреби налаштуйте кнопку (позицію, колір, текст) і натисніть Save Configurations. Збережіть налаштування Крок 4: Скопіюйте згенерований код і вставте його на вашу сторінку, щоб протестувати агента. Скопіюйте код вбудовування

Режими вбудовування

Передумови

Стосуються всіх трьох режимів:
  • Обслуговуйте сторінку через HTTPS або з http://localhost. Браузери відмовляють у доступі до мікрофона на звичайних HTTP-джерелах чи file://.
  • Якщо в кабінеті задано Allowed Domains, додайте туди й ваш тестовий домен (наприклад, localhost) — інакше запити конфігурації й сигналізації віджета будуть відхилені. Залиште список порожнім, щоб дозволити всі домени.
  • Код вбудовування, який ви копіюєте з кабінету, — це один тег <script>, що завантажує dograh-widget.js асинхронно. Віджет автоматично ініціалізується після завантаження й надає window.DograhWidget. Код, що реєструє колбеки, має дочекатись доступності віджета.

Floating Widget

Floating widget показано в кутку сторінки Рендерить кнопку-пігулку (іконка мікрофона + текст), закріплену в кутку сторінки. Клік починає дзвінок; повторний клік — завершує. Кнопка автоматично оновлює підпис і колір упродовж дзвінка: налаштований текст → «Connecting…» → «End Call» → «Retry» у разі помилки. Налаштуйте Button Text, Button Color і Position (верх/низ + ліворуч/праворуч) у кабінеті. Сторінка не потребує жодного власного JavaScript — вставка коду вбудовування і є всією інтеграцією. Якщо потрібно підписатись на події життєвого циклу дзвінка (наприклад, для аналітики), дивіться Колбеки життєвого циклу нижче.

Inline Component

Inline widget, вбудований у розділ сторінки Рендерить панель (іконка статусу + текст статусу + кнопка CTA) всередині <div>, який ви розміщуєте на сторінці. Зміни статусу оновлюють панель на місці. Налаштуйте Button Text, Button Color і Call to Action Text у кабінеті.

Звичайний HTML

Розмістіть контейнер <div> там, де має рендеритись віджет. Віджет автоматично приєднається до нього.

React

Оскільки React монтується вже після того, як скрипт віджета міг завантажитись, інтегруйте через initInline при першому монтуванні та refresh при повторному. Опитуйте наявність window.DograhWidget, щоб урахувати асинхронне завантаження скрипта.

Headless Mode

Headless widget, кероване інтерфейсом сторінки У режимі Headless віджет не додає жодного власного інтерфейсу. Ви самі рендерите будь-які кнопки, банери чи індикатори дзвінка й викликаєте JavaScript API, щоб почати й завершити дзвінок.

JavaScript API

Усі сетери on* — одноразові (single-listener): повторний виклик того самого замінює попередній обробник.
Про час завантаження. Скрипт віджета завантажується асинхронно, тож window.DograhWidget може бути ще недоступний у момент першого виконання вашого вбудованого <script>. Приклади нижче припускають, що window.DograhWidget уже доступний у момент реєстрації. Щоб це гарантувати:
  • Звичайний JS: обгорніть код реєстрації в window.addEventListener('load', () => { /* реєстрація тут */ }).
  • React: всередині useEffect реєструйтесь одразу, якщо document.readyState === 'complete', інакше додайте одноразовий слухач window.load, що реєструє при спрацюванні.
  • Обробники кліків, що викликають start() / end(), не потребують захисту — на момент кліку користувача віджет уже давно завантажений.

Vanilla JS

React + TypeScript

start() має виконуватись усередині справжнього обробника користувацької дії (click, touchend тощо). Браузери відмовляються надавати доступ до мікрофона скриптам, що запитують його поза таким обробником — виклик start() з setTimeout чи при завантаженні сторінки завершиться помилкою дозволу.

Колбеки життєвого циклу (усі режими)

Колбеки on* з Headless JavaScript API працюють у всіх трьох режимах вбудовування, а не лише в Headless. Використовуйте їх для аналітики або запуску інтерфейсу на сторінці навіть тоді, коли віджет рендерить власний інтерфейс (Floating чи Inline).
onCallConnected і onCallDisconnected спрацьовують лише тоді, коли дзвінок дійсно встановлює медіа-з’єднання — невдалі спроби з’єднання (наприклад, відмова в доступі до мікрофона, збій мережі) їх не запускають, тож аналітика лишається чистою.