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
- Configurez une connexion — l'URL de base de votre API et l'authentification
- Ajoutez des endpoints — appels API spécifiques avec modèles de chemin et mappage de réponse
- Créez une règle — une règle IA ou statique avec une action CALL_API
- Le visiteur pose une question — la règle se déclenche, appelle votre API, mappe la réponse aux variables de session
- 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 :
| Champ | Description | Exemple |
|---|---|---|
| Nom | Une étiquette pour cette connexion | API de réservation d'hôtel |
| URL de base | L'URL racine de l'API | https://api.hotel.com/v1 |
| Type d'auth | Comment s'authentifier | Bearer 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.
| Champ | Description |
|---|---|
| Clé | Votre valeur de clé API |
| Nom d'en-tête | En-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.
| Champ | Description |
|---|---|
| Token URL | Endpoint de token OAuth (ex. https://auth.example.com/oauth/token) |
| Client ID | Votre ID client OAuth |
| Client Secret | Votre secret client OAuth |
| Scope | Scopes 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.
| Champ | Description | Exemple |
|---|---|---|
| Nom | Étiquette pour cet endpoint | Vérifier la disponibilité |
| Méthode | Méthode HTTP | GET, POST, PUT, DELETE |
| Chemin | Chemin URL (ajouté à l'URL de base). Utilisez {'{'}variable} pour les valeurs dynamiques | /rooms/{'{'}roomId}/availability |
| Paramètres de requête | Paramètres URL sous forme de paires clé-valeur. Les valeurs prennent en charge {'{'}variable} | date={'{'}checkIn} |
| Modèle de corps | Corps JSON pour POST/PUT. Prend en charge l'interpolation {'{'}variable} | {'{'}"guest": "{'{'}name}"} |
| Mappage de réponse | Mappez les champs de réponse JSON aux variables de session en notation point | data.available → room_available |
| Description | Contexte 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.status → order_status, data.eta → delivery_eta
Règle (type IA) : "Lorsque le visiteur demande le statut de sa commande ou la livraison"
Actions :
- CALL_API → endpoint de statut de commande
- REPLY_AI → l'IA utilise
order_statusetdelivery_etapour 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 price → current_price, currency → price_currency
Règle (statique) : MESSAGE_MATCHES_REGEX : /\b(price|cost|how much)\b/i
Actions :
- CALL_API → endpoint de tarification
- 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