Guides
SDK
Un seul SDK publié, le widget Flutter, plus une API REST et une spécification OpenAPI appelables depuis n'importe quel langage.
AskAIs est protocole d'abord: une seule spécification OpenAPI 3.1, un seul protocole WebSocket et des webhooks signés par HMAC. Vous pouvez appeler l'API depuis n'importe quel langage et afficher votre propre interface. Aujourd'hui, nous publions un seul SDK d'interface packagé, le widget Flutter natif.
Le SDK publié : le widget Flutter
Le seul SDK que nous livrons aujourd'hui se trouve dans sdks/flutter-widget/. C'est une interface de chat complète et personnalisable qui communique pour vous avec l'API REST et le WebSocket. Ajoutez-le à votre pubspec.yaml en tant que paquet local :
# pubspec.yaml
dependencies:
singchat_widget:
path: ../sdks/flutter-widgetiOS et Android
Il n'existe pas de SDK natif distinct pour iOS ou Android. Deux approches sont prises en charge :
- WebView (recommandé), chargez le widget Web depuis
/api/widget-embed. C'est le widget complet et il se met à jour automatiquement, vous n'avez donc jamais à publier une version de l'application juste pour obtenir de nouvelles fonctionnalités de chat. - API REST, appelez l'API directement et affichez votre propre interface native.
Il n'y a pas de vues de chat prêtes à l'emploi en SwiftUI ni en Jetpack Compose. Vous intégrez le WebView ou vous construisez l'interface vous-même au-dessus de l'API.
Tout autre langage : appeler l'API REST
Nous ne fournissons pasde clients pré-compilés pour Python, Go, Rust, C#, Java, PHP, Ruby ou similaires, et il n'existe pas de SDK officiels React Native, Unity ou Unreal. À la place, il y a une API REST publique avec une spécification OpenAPI 3.1, que vous pouvez appeler en HTTP brut ou pour laquelle générer votre propre client :
- OpenAPI :
GET /api/v1/openapi.json - WebSocket : consultez la documentation du widget Web pour le JSON des événements
Générez un client pour le langage souhaité avec 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-clientCe que AskAIs propose
Au-delà du widget, ces fonctionnalités produit sont disponibles aujourd'hui :
- Boîte de réception unifiée sur le widget Web, Telegram et WhatsApp, avec un emplacement X (Twitter) prêt.
- IA hébergée par la plateforme : aucune clé API requise, facturation au token avec recharge automatique et relais humain, ou utilisez votre propre clé.
- Centre d'entraînement de l'IA: explorez votre site, téléversez des fichiers PDF, Word ou DOCX, ajoutez des paires Q&R depuis un CSV et répétez dans un Playground avant la mise en ligne.
- Centre d'aide en 50 langues pour les articles en libre-service et la FAQ.
- Marque blanche complète sur toutes les surfaces destinées aux clients.
- Diffusion multi-domaine anti-blocage pour le widget.
Exemples rapides
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 brut
# 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" }'