Replyo

Установка виджета

Виджет 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).