Connexions API

Connectez vos API externes à enuchat pour que l'IA et les règles puissent récupérer des données en temps réel depuis vos systèmes.

Comment ça fonctionne

Les connexions API vous permettent d'intégrer enuchat à vos propres systèmes backend — moteurs de réservation, CRM, gestion des commandes, inventaire, et plus encore. Lorsqu'un visiteur pose une question, enuchat peut appeler votre API pour obtenir des données réelles et les inclure dans la réponse.

Le flux

  1. Configurez une connexion — l'URL de base de votre API et l'authentification
  2. Ajoutez des endpoints — appels API spécifiques avec modèles de chemin et mappage de réponse
  3. Créez une règle — une règle IA ou statique avec une action CALL_API
  4. Le visiteur pose une question — la règle se déclenche, appelle votre API, mappe la réponse aux variables de session
  5. L'IA répond avec de vraies données — les variables de session sont disponibles pour l'IA pour générer une réponse précise

Exemple : disponibilité d'une chambre d'hôtel

Visiteur : "La chambre 205 est-elle disponible la semaine prochaine ?"

La règle IA correspond : "Lorsque le visiteur pose une question sur la disponibilité des chambres"

Action CALL_API : GET https://api.hotel.com/rooms/205/availability

Réponse mappée : room_available = true, price = "120 €/nuit"

L'IA répond : "La chambre 205 est disponible la semaine prochaine à 120 €/nuit. Souhaitez-vous la réserver ?"

Configurer une connexion

Allez dans Paramètres → Connexions API de votre tableau de bord.

1. Créer une connexion

Une connexion représente une API externe. Vous avez besoin de :

ChampDescriptionExemple
NomUne étiquette pour cette connexionAPI de réservation d'hôtel
URL de baseL'URL racine de l'APIhttps://api.hotel.com/v1
Type d'authComment s'authentifierBearer Token, OAuth2, etc.

2. Types d'authentification

Aucune

Pour les API publiques qui ne nécessitent pas d'authentification.

Clé API

Envoie une clé statique en tant qu'en-tête ou paramètre de requête.

ChampDescription
CléVotre valeur de clé API
Nom d'en-têteEn-tête à utiliser (défaut : X-Api-Key)

La clé est envoyée comme : X-Api-Key: your_key_here

Bearer Token

Envoie un token statique dans l'en-tête Authorization.

Envoyé comme : Authorization: Bearer your_token_here

Basic Auth

Envoie nom d'utilisateur et mot de passe, encodés en base64.

Envoyé comme : Authorization: Basic dXNlcjpwYXNz

OAuth 2.0 (Client Credentials)

Récupère un access token automatiquement et le met en cache jusqu'à expiration. Idéal pour les API modernes comme Salesforce, Google ou des serveurs OAuth personnalisés.

ChampDescription
Token URLEndpoint de token OAuth (ex. https://auth.example.com/oauth/token)
Client IDVotre ID client OAuth
Client SecretVotre secret client OAuth
ScopeScopes séparés par des espaces (ex. read write)

enuchat gère le cycle de vie du token automatiquement — récupère au premier appel, met en cache jusqu'à expiration, rafraîchit si nécessaire.

Sécurité : toutes les identifiants sont chiffrés au repos avec libsodium. Ils ne sont jamais exposés dans les réponses API — seules les valeurs masquées sont affichées dans le tableau de bord.

Configurer les endpoints

Chaque connexion peut avoir plusieurs endpoints — des appels API spécifiques que vous voulez effectuer.

ChampDescriptionExemple
NomÉtiquette pour cet endpointVérifier la disponibilité
MéthodeMéthode HTTPGET, POST, PUT, DELETE
CheminChemin URL (ajouté à l'URL de base). Utilisez {'{'}variable} pour les valeurs dynamiques/rooms/{'{'}roomId}/availability
Paramètres de requêteParamètres URL sous forme de paires clé-valeur. Les valeurs prennent en charge {'{'}variable}date={'{'}checkIn}
Modèle de corpsCorps JSON pour POST/PUT. Prend en charge l'interpolation {'{'}variable}{'{'}"guest": "{'{'}name}"}
Mappage de réponseMappez les champs de réponse JSON aux variables de session en notation pointdata.available → room_available
DescriptionContexte pour l'IA (quelles données cet endpoint retourne)Retourne la disponibilité et le prix des chambres

Interpolation de variables

Utilisez {'{'}variableName} dans les chemins, paramètres de requête et modèles de corps. Les variables viennent de :

  • Variables de session — définies par des règles précédentes (action SET_VARIABLE)
  • Paramètres d'action — codés en dur dans l'action de règle CALL_API

Mappage de réponse

Mappez les champs de réponse JSON aux variables de session en notation point :

// API returns:
{'{'}
  "data": {'{'}
    "available": true,
    "price": {'{'} "amount": 120, "currency": "EUR" }
  }
}

// Mapping:
data.available  →  room_available    // "true"
data.price.amount  →  room_price    // "120"
data.price.currency  →  room_currency  // "EUR"

Les variables mappées sont stockées comme variables de session sur la conversation et sont disponibles pour l'IA pour générer des réponses.

Utilisation avec les règles

Les appels API sont déclenchés par l'action CALL_API dans les règles. Vous pouvez les combiner avec d'autres actions.

Recette : recherche de statut de commande

Connexion : API de gestion des commandes — https://api.shop.com/v2 — Bearer Token

Endpoint : GET /orders/{'{'}orderId} → mappe data.statusorder_status, data.etadelivery_eta

Règle (type IA) : "Lorsque le visiteur demande le statut de sa commande ou la livraison"

Actions :

  1. CALL_API → endpoint de statut de commande
  2. REPLY_AI → l'IA utilise order_status et delivery_eta pour répondre

Résultat : Visiteur : "Où est ma commande #4521 ?" — IA : "Votre commande #4521 est actuellement en cours d'expédition et devrait arriver jeudi."

Recette : tarification en temps réel

Connexion : API de tarification — https://pricing.example.com — Clé API

Endpoint : GET /products/{'{'}productId}/price → mappe pricecurrent_price, currencyprice_currency

Règle (statique) : MESSAGE_MATCHES_REGEX : /\b(price|cost|how much)\b/i

Actions :

  1. CALL_API → endpoint de tarification
  2. REPLY_TEXT → "Le prix actuel est {'{'}current_price} {'{'}price_currency}."

Test

Testez toujours vos connexions et endpoints avant de les utiliser dans des règles :

  • Tester la connexion — vérifie que l'authentification fonctionne (pour OAuth2 : récupère un token)
  • Tester l'endpoint — effectue un véritable appel API avec des variables d'exemple et affiche la réponse
  • Tester la règle (dry-run) — sur la page Règles, testez si une règle correspondrait et quelles actions s'exécuteraient

Astuce : commencez par tester la connexion, puis chaque endpoint, puis la règle complète. Ainsi, vous pouvez isoler les problèmes à chaque niveau.

Sécurité

  • Chiffrement au repos — toutes les identifiants sont chiffrés avec libsodium avant stockage
  • Jamais exposés — les réponses API n'incluent jamais les identifiants déchiffrés, uniquement les valeurs masquées
  • Protection SSRF — enuchat bloque les appels vers localhost, les IP privées et les noms d'hôte internes
  • Timeout — les appels API externes ont un timeout de 5 secondes pour éviter les blocages
  • Mise en cache des tokens OAuth2 — les access tokens sont mis en cache en sécurité et rafraîchis automatiquement
  • Isolation par tenant — les connexions sont limitées à votre tenant, inaccessibles aux autres

Prêt à connecter vos API ?

Commencez à intégrer vos systèmes avec enuchat dès aujourd'hui.

Commencer gratuitement