Начало работы
Integration overview
Один бэкенд, любая платформа. Встройте один раз, и всё остаётся актуальным.
AskAIs представляет собой единый бэкенд со множеством способов подключения. Вы один раз настраиваете рабочее пространство, а затем встраиваете чат куда угодно, на сайт, в мобильное приложение или в любой backend-сервис. Клиенты также могут написать вам через входящие каналы, такие как Telegram и WhatsApp. Все клиенты и каналы работают с одним и тем же входящим ящиком, AI-агентом и базой знаний.
Один бэкенд, любая платформа
Какую бы платформу вы ни использовали, установка короткая, а переписка, контакты, ответы AI и настройки общие. Вот как выполняется установка на каждой платформе и, что важно, как приходят будущие обновления:
Платформы вкратце
| Платформа | Установка | Как обновляется |
|---|---|---|
| Сайт | <script src="…/widget.js"> | Автоматически, каждая загрузка страницы подтягивает последнюю версию |
| iOS (WebView) | WebView embed | Автоматически, WebView загружает последний виджет |
| Android (WebView) | WebView embed | Автоматически, WebView загружает последний виджет |
| Flutter (нативный SDK) | pub (local package) | Поднимите версию SDK и выпустите новую сборку приложения |
| React Native (WebView) | WebView / REST | Автоматически, WebView загружает последний виджет |
| Любой backend | REST API / OpenAPI | Ваш собственный сервис, при каждом вашем деплое |
Работают ли все клиенты и каналы вместе?
Да. Это разные «парадные двери» к одному и тому же рабочему пространству AskAIs, поэтому они полностью совместимы:
- Один бэкенд, один app-id: каждый клиент подключается к одному и тому же входящему ящику в вашем рабочем пространстве.
- Один посетитель на разных устройствах: идентифицируйте его по одному и тому же externalId, и чат, начатый в вебе, продолжится в вашем приложении.
- Не только встраивание, но и входящие каналы: помимо виджета в вебе и в приложении, клиенты могут написать вам в Telegram и WhatsApp (оба работают сквозным образом), и каждое сообщение попадает в один и тот же входящий ящик; слот для X уже готов.
- Общая конфигурация: ваш AI-агент (размещённый на платформе или с вашим собственным ключом), база знаний, часы работы, ответы по ключевым словам и FAQ настраиваются один раз и применяются ко всем каналам.
Веб, официальная вставка (рекомендуется)
Вставьте эту одну строку перед </body>. Это и есть вся установка. app-id является публичным и безопасен для распространения; скопируйте его из Settings → Inboxes.
<script src="https://singchat.org/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://singchat.org"
async></script>⚠️ Не скачивайте и не размещайте widget.js у себя
Всегда загружайте виджет с https://singchat.org/widget.js. Если вы скачаете файл и разместите его сами или соберёте его в свой бандл, вы зафиксируете его на одной версии, наши будущие обновления стилей, исправления ошибок и новые функции до вас никогда не дойдут. При загрузке с singchat.org виджет обновляется автоматически; вам ничего не нужно менять.
Управляйте им со своей страницы (опционально)
После загрузки скрипта становится доступен глобальный объект window.SingChat:
// Open / close the widget
window.SingChat.open();
window.SingChat.close();
// Identify a logged-in user (so chats follow them across devices)
window.SingChat.identify({ externalId: "user_123", name: "Ada", email: "ada@acme.com" });Мобильные приложения: Flutter SDK или встраивание через WebView
Для мобильных есть три реальных варианта. Первый, нативный Flutter-виджет SDK даёт полноценный настраиваемый интерфейс чата (плавающая кнопка и нативный экран чата, а не WebView); добавьте его в pubspec и выпускайте. Второй, на iOS и Android (и в React Native) вы можете встроить полноценный веб-виджет внутрь WebView, с тем же опытом, что и на сайте, и он сам остаётся актуальным. Третий, используйте REST API с подписанными вебхуками и рисуйте собственный интерфейс. Отдельного нативного SDK чата для iOS, Android или React Native устанавливать не нужно; это и есть поддерживаемые пути.
# Flutter, native chat widget (floating bubble + native chat UI, not a WebView).
# In your app's pubspec.yaml (download and unzip the SDK package first):
dependencies:
singchat_widget:
path: ../singchat_widget
# iOS / Android / React Native without Flutter: load the hosted web widget in a
# WKWebView / WebView (same experience as the website), or drive the REST API
# with signed webhooks and render your own chat UI.Любой backend или язык
SDK не требуется, вызывайте REST API напрямую, чтобы идентифицировать контакт и отправлять или получать сообщения, а входящие события проверяйте с помощью подписанных вебхуков. Весь API следует опубликованной спецификации OpenAPI, поэтому вы можете сгенерировать клиент на своём языке или просто вызывать конечные точки напрямую.
# Any backend / language, talk to the REST API directly
curl -X POST https://singchat.org/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'