Intégration d'API Chatbot
Intégrez WebChatAgent dans des apps desktop, terminaux et outils internes via REST API — et passez à WebSocket pour un live chat réel.
Ajoutez le chat à votre app, pas seulement à votre site.
Tout n'est pas un navigateur. Avec notre API, vous créez une expérience conversationnelle directement dans votre logiciel : desktop, CLI et portails internes.
Quels problèmes l'API résout-elle ?
Freins d'intégration fréquents — et comment une API les résout proprement.
Un widget web ne convient pas
Les applications desktop, les outils internes ou les terminaux nécessitent une intégration native — pas un widget web intégré.
Expériences de chat incohérentes
Sans API claire, le chat devient un cas particulier. Avec des endpoints dédiés, vous gardez une UX cohérente dans vos parcours.
Le live chat exige du temps réel
Quand un humain prend le relais, le temps réel compte : statut, messages et fichiers doivent arriver instantanément — c'est le rôle de WebSocket.
Comment l'API résout ces problèmes ?
Démarrez en REST pour le bot — et basculez vers WebSocket pour le human takeover.
REST API pour tout frontend
Envoyez des messages via POST sur /api/chat et affichez la réponse dans votre UI. Parfait pour desktop, mobile, backoffice et CLI.
WebSocket pour le Live Chat (human takeover)
Quand le mode passe à human, connectez-vous en WebSocket et échangez en temps réel — avec un session guard.
Exemples de code
Démarrez en minutes : cURL pour tester, JavaScript pour intégrer en production.
# 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 };
}Gestion de session : si vous n'envoyez pas X-Chat-Session-Id, le serveur crée une nouvelle session et renvoie la session id dans l'en-tête de réponse. Conservez-la et renvoyez-la ensuite.
Exemple de réponse lors du passage au live chat : [ "reply": "...", "sources": [], "mode": "human", "status": "waiting" ] — puis basculez vers WebSocket.
À savoir pour le Live Chat
Le Live Chat passe par WebSocket. Après connexion, joignez avec chatbotId + sessionId et envoyez des messages en client:message. Traitez uniquement les events de la session courante.
// 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)
};Utilisez REST (/api/chat) tant que la conversation est en mode bot.
Vérifiez la réponse : Si mode='human' et status='waiting' ou 'open' est renvoyé, basculez vers WebSocket (/api/livechat).
Implémentez un session guard : ignorez les events sans sessionId ou avec une autre sessionId.
Cas d'utilisation typiques
Exemples d'intégration pour amener support et workflows directement dans votre logiciel.
Support dans une app desktop
Aide in-app, troubleshooting et onboarding — sans renvoyer l'utilisateur vers un navigateur.
Assistant Terminal / CLI
Réponses et instructions dans le terminal — idéal pour DevOps, IT et outils internes.
Portails internes & backoffice
Self-service employés : politiques, processus et connaissances — directement dans l'intranet.
Escalade vers le live chat
Automatisez avec le bot — puis transférez à un humain si nécessaire (WebSocket).
Intégrez le chat là où sont vos utilisateurs.
Démarrez en REST et ajoutez le live chat au besoin. Conçu pour la production : rapide, stable et maintenable.
Créer un compte