Chatbot API-integratie
Integreer WebChatAgent in desktopapps, terminals en interne tools via REST API — en schakel over naar WebSocket voor echte live chat.
Breng chat in je product, niet alleen op je website.
Niet elke omgeving is een browser. Met onze Chatbot API kun je een gespreks-UX rechtstreeks in je software bouwen — van desktopclients tot CLI-tools en interne portals.
Welke problemen lost de Chatbot API op?
Veelvoorkomende integratieproblemen — en hoe een API ze netjes oplost.
Een websitewidget past niet
Desktopapplicaties, interne tools of terminals hebben een native integratie nodig — geen ingebedde websitewidget.
Inconsistente chatervaringen
Zonder een duidelijke API wordt chat een uitzondering. Met speciale endpoints houd je de UX consistent over al je flows en UI-componenten.
Live chat vereist realtime
Wanneer een medewerker het overneemt, is realtime belangrijk: status, berichten en bestanden moeten direct aankomen — daar is WebSocket voor.
Hoe lost de API deze problemen op?
Begin met REST voor botchat — en schakel naadloos over naar WebSocket voor live menselijke overname.
REST API voor elke frontend
Verstuur berichten via POST naar /api/chat en render het antwoord in je UI. Perfect voor desktop, mobiel, backoffice en CLI.
WebSocket voor Live Chat (menselijke overname)
Wanneer de modus overschakelt naar menselijk, maak je verbinding via WebSocket en verstuur/ontvang je berichten in realtime — inclusief sessiebewaking.
Codevoorbeelden
Start binnen minuten: cURL voor snelle tests, JavaScript voor productie-integraties.
# 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 };
}Sessiebeheer: Als je geen X-Chat-Session-Id meestuurt, maakt de server een nieuwe sessie aan en retourneert de sessie-id in de response-header. Bewaar deze en stuur hem mee bij vervolgverzoeken.
Voorbeeld response bij overschakeling naar live chat: [ "reply": "...", "sources": [], "mode": "human", "status": "waiting" ] — schakel dan over naar WebSocket.
Waar je op moet letten bij Live Chat
Live Chat draait over WebSocket. Maak na verbinding lid met chatbotId + sessionId en verstuur berichten als client:message. Verwerk alleen events voor je huidige sessie.
// 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)
};Gebruik REST (/api/chat) zolang het gesprek in botmodus is.
Controleer de response: als mode='human' en status='waiting' of 'open' wordt geretourneerd, schakel dan over naar WebSocket (/api/livechat).
Implementeer een sessiebewaking: negeer WebSocket-events zonder sessionId of met een ander sessionId.
Typische toepassingen
Voorbeelden van hoe teams de API gebruiken om support en workflows rechtstreeks in hun software in te bouwen.
Desktopapp-ondersteuning
In-app hulp, probleemoplossing en onboarding — zonder gebruikers naar een browser te sturen.
Terminal / CLI-assistent
Antwoorden en instructies in de terminal — ideaal voor DevOps, IT en interne tooling.
Interne portals & backoffice
Self-service voor medewerkers voor beleid, processen en kennis — rechtstreeks in het intranet.
Escalatie naar live chat
Automatiseer met een bot — en draag naadloos over aan een mens wanneer nodig (WebSocket).
Integreer chat waar je gebruikers al zijn.
Begin met REST en voeg live chat toe wanneer nodig. Gebouwd voor productie-integraties — snel, stabiel en overzichtelijk.
Account aanmaken