Установка виджета
Виджет Replyo устанавливается одним <script>-тегом. Универсально — работает на любом HTTPS-сайте.
Базовый embed
<script
src="https://cdn.replyo.su/w.js"
data-bot="bot_YOUR_ID"
async
></script>Куда вставлять: перед закрывающим </body>.
Атрибуты
| Атрибут | Обязательный | Значение |
|---|---|---|
data-bot | Да | ID бота из dashboard (начинается с bot_) |
data-theme | Нет | light, dark, auto (default) |
data-position | Нет | br (default), bl, tr, tl |
data-language | Нет | ISO 639-1 код (ru, en). Default — auto |
data-delay | Нет | Миллисекунды до появления launcher'а (например 3000) |
Пошаговые гайды по CMS
- Tilda — через раздел «HTML-код для вставки в сайт»
- Readymag — через Custom Code → Body
- WordPress — через плагин Header Footer Code Manager или functions.php
- 1С-Битрикс — через footer.php шаблона
Кастомный сайт (React / Vue / статичный HTML)
Вставьте embed прямо в HTML, либо динамически через JS:
// Next.js / React
useEffect(() => {
const s = document.createElement('script');
s.src = 'https://cdn.replyo.su/w.js';
s.dataset.bot = 'bot_YOUR_ID';
s.async = true;
document.body.appendChild(s);
return () => { s.remove(); };
}, []);Программный контроль
После загрузки window.Replyo доступен в JS:
window.Replyo.open(); // открыть чат
window.Replyo.close(); // закрыть
window.Replyo.ask('сколько стоит доставка?'); // отправить вопрос
// Подписка на события
window.Replyo.on('ready', () => console.log('Widget loaded'));
window.Replyo.on('lead', (data) => console.log('New lead:', data));CSP настройки
Если на сайте включён Content-Security-Policy — добавьте в white-list:
script-src 'self' https://cdn.replyo.su;
frame-src 'self' https://widget.replyo.su;
connect-src 'self' https://api.replyo.su wss://api.replyo.su;Производительность
Embed-скрипт — ≤4 KB gzipped, загружается асинхронно. Не влияет на Core Web Vitals. Launcher появляется через ~100ms после загрузки страницы. Полный виджет загружается только при клике (lazy-mount).