API • Intégrez dans n'importe quelle app

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.

Pour développeurs & produit

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.

REST API (cURL)
Test rapide — idéal pour terminal, CI ou debug.
# 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>"
  }'
REST API (JavaScript)
Intégration dans des apps desktop/web avec fetch().
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.

Live chat

À 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.

Connexion WebSocket + join
Démarrage : connecter, rejoindre la session, puis envoyer des messages.
// 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)
};
REST ou WebSocket ?
REST est idéal pour le bot. WebSocket est requis dès que le human takeover est actif.

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