Интеграция: JS Widget

Назначение

Встраиваемый чат-виджет для сайта. Работает поверх webhook/chat endpoint и передает контекст страницы.

Подключение

<script
  src="https://storage.yandexcloud.net/<bucket>/widget/widget.js"
  data-wikiflow-widget
  data-tenant-id="your-tenant-id"
  data-webhook-id="your-webhook-id"
  data-api-url="https://your-api.example.com"
></script>

Можно использовать data-flow-id вместо data-webhook-id.

Режимы вызова backend

  • При flowId: POST /api/chat/{tenant_id}/{flow_id} (авторизованный чат endpoint).
  • При webhookId: POST /webhook/{tenant_id}/{webhook_id} (публичный webhook endpoint).

Базовый контракт запроса

{
  "content": "Сообщение пользователя",
  "context": {
    "history": [],
    "userId": "generated_or_custom",
    "...": "customContext + pageContext"
  }
}

Базовый контракт ответа

{
  "content": "Ответ ассистента",
  "context": {
    "questions": ["Быстрый ответ 1", "Быстрый ответ 2"]
  }
}

Что поддерживает виджет

  • Автогенерация userId (или передача своего).
  • Передача истории чата в context.history.
  • Быстрые кнопки (context.questions).
  • Формы (если backend вернул context.type = "form").
  • Визуальная кастомизация (позиция, цвета, подписи, размеры).