Конструктор виджета
Для админов

Конструктор виджета

Страница «Настройки → Widget Builder» (/settings/widget-builder) — визуальный конструктор чат-виджета с предпросмотром в реальном времени. 23 секции, draft/publish workflow с governance (одобрение, расписание публикации, audit log) и live state picker для тестирования всех экранов виджета.

Секции конструктора

Сгруппированы по смыслу. Любую секцию можно открыть из левой колонки билдера; справа — live preview, который обновляется на каждый keystroke.

ГруппаСекции
БрендBrand (логотип, форма, прозрачный фон, цвета, тема, Powered by toggle), Background, IconPack, EmojiPack, BotProfile
КонтентWelcome (приветствие, hero, CTA), Tabs (Home/Chat/Help/News/MiniApp toggle), Forms (pre-chat поля), SystemMessages, Translation
ПоведениеConversation (реакции, inline keyboard, cookie_domain), Hours (рабочее время), AwayGreetingSegments, EmailBridge, ReplyKeyboards, QuickReplies, SlowMode/BannedWords, BotMenu
РасширенияStories, MiniApp, PinnedBanner
Безопасность и AdvancedPrivacy (consent, GDPR), Advanced (custom CSS, kill-switch, keyword routing rules)

Загрузка логотипа

В секции Brand загружайте логотип файлом (PNG / JPEG / WebP / SVG, до 256 КБ) — он отправляется на бэкенд через POST /api/workspaces/{ws}/widget-config/logo и встраивается в конфиг как data URL. Опции: форма (круг / скруглённый / квадрат) и прозрачный фон (убрать accent-плитку под логотипом — для PNG со своим фоном).

«Powered by SupportHub» в футере

Внизу виджета по умолчанию показывается ссылка Powered by SupportHub. Скрытие — через тоггл Hide Powered by в секции Brand. Тоггл plan-gated: доступен только на тарифах с фичей custom_branding; на бесплатном плане отображается заблокированным с подсказкой про апгрейд.

Live preview + state picker

Превью обновляется на каждый keystroke через postMessage. State picker внизу превью переключает виджет между состояниями (Home / Chat list / Conversation / Help / News / Off-hours / Email-bridge prompt / Operator typing) — можно проверить как выглядит каждый экран без необходимости создавать тикеты вручную. Mobile toggle переключает превью на 375px ширину для проверки мобильной верстки.

Governance: Draft / Publish / Schedule

  • Draft — каждое изменение пишется в workspace.settings.widget_draft (autosave, optimistic concurrency через If-Match). Прод-виджет видит только workspace.settings.widget до публикации.
  • Publish — промотирует draft в опубликованную версию. Бампит widget_version, инвалидирует preamble-cache виджет-бандла.
  • Schedule — отложенная публикация. Celery beat каждую минуту проверяет scheduled drafts (app.tasks.widget_scheduler.promote_scheduled_drafts) и промотирует когда время пришло.
  • Approval — для платных планов: editor → approver flow. Submit/Approve/Reject видны в audit log.
  • Audit log — все события (publish, approve, reject, schedule, embed-secret rotated) хранятся с user_id и timestamp; доступны через GET /api/workspaces/{ws}/widget-config/audit-log.
Code snippet в правом верхнем углу — кнопка «Embed». Скопируйте готовый <script> с правильным workspace_id и embed-secret для безопасной установки на сайт.
Была ли страница полезной?