Руководства
SDK
Один опубликованный SDK, виджет Flutter, плюс REST API и спецификация OpenAPI, которые можно вызвать из любого языка.
AskAIs придерживается подхода «протокол прежде всего»: одна спецификация OpenAPI 3.1, один протокол WebSocket и webhooks с подписью HMAC. API можно вызывать на любом языке и отрисовывать собственный интерфейс. Сегодня мы публикуем один упакованный UI SDK, нативный виджет Flutter.
Опубликованный SDK: виджет Flutter
Единственный SDK, который мы поставляем сегодня, находится в sdks/flutter-widget/. Это полноценный настраиваемый по теме интерфейс чата, который сам общается с REST API и WebSocket. Добавьте его в ваш pubspec.yaml как локальный пакет:
# pubspec.yaml
dependencies:
singchat_widget:
path: ../sdks/flutter-widgetiOS и Android
Отдельного нативного SDK для iOS или Android нет. Поддерживаются два пути:
- WebView (рекомендуется), загрузите веб-виджет с
/api/widget-embed. Это полнофункциональный виджет, он обновляется автоматически, поэтому вам не нужно выпускать новую версию приложения только ради новых возможностей чата. - REST API, вызывайте API напрямую и отрисовывайте собственный нативный интерфейс.
Готовых представлений чата на SwiftUI или Jetpack Compose нет. Вы либо встраиваете WebView, либо строите интерфейс сами поверх API.
Любой другой язык: вызов REST API
Мы не поставляем готовые клиенты для Python, Go, Rust, C#, Java, PHP, Ruby и подобных, и официальных SDK для React Native, Unity или Unreal нет. Вместо этого есть публичный REST API со спецификацией OpenAPI 3.1, который можно вызывать по обычному HTTP или для которого сгенерировать собственный клиент:
- OpenAPI:
GET /api/v1/openapi.json - WebSocket: смотрите документацию Web-виджета для JSON событий
Сгенерируйте клиент для нужного языка с помощью openapi-generator:
# generate a client from the public spec
npx @openapitools/openapi-generator-cli generate \
-i https://singchat.org/api/v1/openapi.json \
-g python \
-o ./singchat-clientЧто предлагает AskAIs
Помимо виджета, сегодня доступны следующие возможности продукта:
- Единый почтовый ящик для веб-виджета, Telegram и WhatsApp, с готовым слотом для X (Twitter).
- ИИ на хостинге платформы: ключ API не нужен, оплата по токенам с автопополнением и передачей человеку, либо используйте собственный ключ.
- Центр обучения ИИ: обход вашего сайта, загрузка файлов PDF, Word или DOCX, добавление пар вопрос-ответ из CSV и репетиция в Playground до запуска.
- Справочный центр на 13 языках для статей самообслуживания и FAQ.
- Полный white-label для всех обращённых к клиенту поверхностей.
- Антиблокировочная мультидоменная доставка виджета.
Быстрые примеры
Flutter widget
import 'package:singchat_widget/singchat_widget.dart';
// mount the themeable chat UI
SingChatWidget(
appId: 'ws_abc123',
user: SingChatUser(
externalId: 'user_42',
email: 'ada@example.com',
),
)iOS WebView
import WebKit
let webView = WKWebView(frame: view.bounds)
let url = URL(string: "https://singchat.org/api/widget-embed?appId=ws_abc123")!
webView.load(URLRequest(url: url))
view.addSubview(webView)Android WebView
val webView = WebView(this)
webView.settings.javaScriptEnabled = true
webView.loadUrl("https://singchat.org/api/widget-embed?appId=ws_abc123")
setContentView(webView)Чистый curl
# identify against the REST API (any language, no library)
curl https://singchat.org/api/v1/auth/identify \
-H "Content-Type: application/json" \
-d '{ "appId": "ws_abc123", "email": "ada@example.com" }'