Chatbot API Integration
Integriere WebChatAgent in Desktop-Apps, Terminals und interne Tools – per REST API oder WebSocket für echten Live-Chat.
Chat in deine App bringen, ohne Widget-Zwang.
Nicht jede Umgebung ist ein Browser. Mit unserer Chatbot API baue Conversational UX direkt in deine Software ein – von Desktop-Clients über CLI-Tools bis zu internen Portalen.
Welche Probleme löst die Chatbot API?
Typische Hürden bei Chat-Integrationen – und warum eine API sie sauber löst.
Kein Platz für ein Website-Widget
Desktop-Anwendungen, Intranet-Tools oder Terminals brauchen eine native Integration – nicht ein eingebettetes Website-Widget.
Uneinheitliche Chat-Erlebnisse
Ohne API wird Chat schnell ein Sonderfall. Mit klaren Endpunkten integriere Chat konsistent in deine bestehenden Flows und UI-Komponenten.
Live-Chat erfordert Echtzeit
Wenn ein Mensch übernimmt, zählt Realtime: Status, Nachrichten und Dateien müssen sofort ankommen – dafür ist WebSocket die richtige Wahl.
Wie löst die API diese Probleme?
Einfacher Start per REST – und nahtloser Wechsel zu Live-Chat per WebSocket.
REST API für jedes Frontend
Sende Nachrichten per POST an /api/chat und rendere die Antwort in deiner UI. Ideal für Desktop, Mobile, Backoffice und CLI.
WebSocket für Live-Chat (Human takeover)
Wenn der Modus auf human wechselt, verbinde dich per WebSocket und sende/empfange Nachrichten in Echtzeit – inklusive Session-Guards.
Schneller mit dem JavaScript-SDK
Kein HTTP-Kleinkram: Das WebChatAgent-SDK bringt typisierte Funktionen für Chat, gestreamte Antworten, Datei-Upload, Feedback, Lead-Formulare und Live-Chat mit deinem Team. Es läuft im Browser, in Node.js und in jedem Framework, ohne Abhängigkeiten.
Du baust mit Claude Code, Cursor oder Copilot? Das README hat einen eigenen Abschnitt für KI-Assistenten mit Regeln und einem fertigen Grundgerüst, damit der Assistent das Paket richtig einsetzt.
Zur Anleitung →npm install webchatagent
import { WebChatAgent } from 'webchatagent'
const chat = new WebChatAgent({ chatbotId: 'YOUR-CHATBOT-ID' })
for await (const event of chat.stream('Hello!')) {
if (event.type === 'text') render(event.text)
}Code-Beispiele
Nutze cURL für schnelle Tests und JavaScript für produktive Integrationen.
# 1) First request (no session id). Use -i to see response headers.
curl -i -X POST https://webchatagent.com/api/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Hello, how can you help me?",
"chatbotId": "<your-chatbot-id>"
}'
# 2) Reuse the X-Chat-Session-Id from the response header for the conversation.
curl -X POST https://webchatagent.com/api/chat \
-H "Content-Type: application/json" \
-H "X-Chat-Session-Id: <session-id-from-response>" \
-d '{
"message": "Continue the conversation.",
"chatbotId": "<your-chatbot-id>"
}'async function sendChatMessage({ baseUrl, chatbotId, message, sessionId }) {
const res = await fetch(`${baseUrl}/api/chat`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Chat-Session-Id': sessionId || ''
},
body: JSON.stringify({ message, chatbotId })
});
const nextSessionId = res.headers.get('X-Chat-Session-Id') || sessionId || '';
if (!res.ok) throw new Error(await res.text());
const data = await res.json();
// data: { reply, sources, mode, status }
// If mode === 'human' and status === 'waiting' or 'open', switch to WebSocket
if (data.mode === 'human' && (data.status === 'waiting' || data.status === 'open')) {
// Switch to WebSocket for live chat
connectToLiveChat(nextSessionId, chatbotId);
}
return { data, sessionId: nextSessionId };
}Session-Handling: Wenn du keine X-Chat-Session-Id sendest, erstellt der Server eine neue Session und gibt die Session-ID im Response-Header zurück. Speichere diese und sende sie bei Folgeanfragen mit.
Beispiel-Response bei Live-Chat-Wechsel: [ "reply": "...", "sources": [], "mode": "human", "status": "waiting" ], dann auf WebSocket umschalten.
Was bei Live-Chat zu beachten ist
Live-Chat läuft über WebSocket. Nach dem Connect joine mit chatbotId + sessionId und senden Nachrichten als client:message. Verarbeite nur Events deiner aktuellen Session.
// Use the same base URL as your REST calls (WebChatAgent domain).
const ws = new WebSocket('wss://webchatagent.com/api/livechat');
ws.onopen = () => {
ws.send(JSON.stringify({
type: 'client:join',
chatbotId: '<your-chatbot-id>',
sessionId: '<your-session-id>',
as: 'user'
}));
};
function sendLiveChatMessage(text) {
ws.send(JSON.stringify({
type: 'client:message',
chatbotId: '<your-chatbot-id>',
sessionId: '<your-session-id>',
sender: 'user',
content: text
}));
}
ws.onmessage = (event) => {
const data = JSON.parse(event.data || '{}');
// data.type === 'livechat:message'
// data.sessionId guard recommended (handle only current session)
};Nutze REST (/api/chat), solange der Chat im Bot-Modus läuft.
Prüfe die Response: Wenn mode='human' und status='waiting' oder 'open' zurückkommt, wechsle auf WebSocket (/api/livechat).
Implementiere einen Session-Guard: Ignoriere WebSocket-Events ohne sessionId oder mit fremder sessionId.
Typische Use Cases
Beispiele, wie Teams die API nutzen, um Support und Prozesse direkt in ihre Software zu bringen.
Desktop-App Support
In-App Hilfe, Troubleshooting und Onboarding – ohne Kontextwechsel zum Browser.
Terminal / CLI Assistenz
Antworten und Anleitungen direkt im Terminal – ideal für DevOps, IT und interne Tools.
Interne Portale & Backoffice
Self-Service für Mitarbeiter: Richtlinien, Prozesse und Wissensfragen – direkt im Intranet.
Eskalation zu Live-Chat
Automatisieren mit Bot – und bei Bedarf nahtlos an einen Menschen übergeben (WebSocket).
Baue Chat dort ein, wo deine Nutzer sind.
Starte mit REST und erweitere bei Bedarf um Live-Chat. Die API ist für produktive Integrationen gebaut – schnell, stabil und nachvollziehbar.
Account erstellen