Tutoriel Dify : Intégrer des API Tierces et Applications Externes
En bref
Dify permet l'intégration d'applications tierces via 5 méthodes principales, incluant REST API et OpenAPI, et expose chaque application publiée comme une API accessible pour l'intégration web, SaaS ou backend.
Chiffres clés
- Dify offre 5 méthodes principales pour intégrer des API tierces dans ses applications IA.
- Une application Dify publiée est automatiquement accessible via une API REST.
- L'authentification par clé API et jeton Bearer est recommandée pour les appels sécurisés.
Dify s'affirme comme une plateforme robuste pour le développement d'applications basées sur l'intelligence artificielle, offrant des capacités étendues pour l'intégration avec des services et applications externes. Au cœur de son fonctionnement, Dify facilite la connexion d'agents et de workflows IA à des écosystèmes tiers via diverses méthodes, notamment les API REST, OpenAPI/Swagger, les plugins, le protocole MCP et les endpoints personnalisés. Une fois qu'une application est publiée dans Dify, elle devient instantanément accessible en tant qu'API, ouvrant la voie à des intégrations fluides avec des sites web, des solutions SaaS, des CRM ou des backends métier.
Cet article détaille les principales méthodes d'intégration offertes par Dify et propose un tutoriel pratique pour connecter une API tierce à l'aide du format OpenAPI. Nous explorerons également les bonnes pratiques en matière de sécurité et d'architecture pour garantir des intégrations fiables et performantes.
Méthodes d'intégration principales avec Dify
Dify propose plusieurs approches pour connecter vos applications IA à des services externes, chacune adaptée à des besoins spécifiques :
- API REST Dify : Toute application publiée au sein de Dify peut être invoquée depuis un backend externe. Cette invocation s'effectue via une clé API et un jeton
Bearer. Il est crucial de ne jamais exposer cette clé directement dans le navigateur ou une application cliente pour des raisons de sécurité. - OpenAPI/Swagger : Dify permet d'importer des API tierces directement à partir de leur schéma OpenAPI (anciennement Swagger), qu'il s'agisse d'un fichier YAML/JSON, d'une URL ou d'un exemple. Après importation, Dify génère une interface d'outil utilisable dans vos workflows ou agents, simplifiant l'interaction avec des services externes.
- MCP (Microservice Communication Protocol) : Dify peut établir une connexion avec un serveur MCP pour importer ses outils. Cette méthode permet à l'application Dify d'interagir avec des bases de données, des systèmes de fichiers ou d'autres API externes via une interface standardisée, offrant une grande flexibilité pour les infrastructures complexes.
- Plugins et intégrations : Les intégrations dans Dify enrichissent la plateforme en fournissant des outils, des fournisseurs de modèles de langage, des sources de données et divers services externes. Elles s'installent au niveau de l'espace de travail et peuvent être réutilisées dans plusieurs applications, favorisant la modularité et la réutilisabilité.
- Endpoints personnalisés : Cette fonctionnalité est idéale pour relier des API développées en interne à Dify. Elle est particulièrement utile pour des tâches spécifiques comme la modération de contenu ou la fourniture de données externes. L'API personnalisée doit impérativement prévoir une authentification par clé et respecter le format attendu par Dify pour une intégration réussie.
Tutoriel pratique : connecter une API tierce avec OpenAPI
L'intégration d'une API externe via OpenAPI est l'une des méthodes les plus courantes et structurées dans Dify. Voici les étapes clés :
1. Préparer l'API Tierce
Avant d'importer votre API dans Dify, assurez-vous qu'elle respecte les prérequis suivants :
- Une URL HTTPS accessible depuis Dify.
- Des endpoints clairement documentés.
- Un schéma OpenAPI valide (YAML ou JSON).
- Un mécanisme d'authentification : clé API, OAuth ou jeton Bearer.
- Des paramètres d'entrée et des réponses au format JSON explicites.
- Des codes d'erreur cohérents pour une meilleure gestion des exceptions.
Voici un exemple simplifié de schéma OpenAPI pour une API Météo :
openapi: 3.0.0
info:
title: API Météo
version: 1.0.0
servers:
- url: https://api.exemple.com
paths:
/weather:
get:
operationId: getWeather
summary: Obtenir la météo d'une ville
parameters:
- name: city
in: query
required: true
schema:
type: string
responses:
"200":
description: Réponse météo
content:
application/json:
schema:
type: object
properties:
temperature:
type: number
condition:
type: string
2. Importer l'API dans Dify
Le processus d'importation est intuitif :
- Dans l'interface Dify, naviguez vers la section Integrations, puis sélectionnez Tools.
- Choisissez l'option d'importation Swagger API/OpenAPI.
- Collez le schéma YAML ou JSON de votre API, ou fournissez directement son URL.
- Vérifiez attentivement les opérations (endpoints) que Dify a détectées à partir du schéma.
- Configurez les informations d'authentification requises par votre API (clé API, jeton).
- Effectuez un test d'appel avec des paramètres réels pour confirmer le bon fonctionnement.
- Enregistrez l'outil. Dify transforme ainsi les opérations OpenAPI en outils que les nœuds Tool ou les agents peuvent appeler dans vos applications.
3. Ajouter l'outil à une application Dify
Une fois l'API importée en tant qu'outil, vous pouvez l'intégrer dans vos applications Dify, qu'il s'agisse de workflows ou d'agents. Pour approfondir la création d'agents, consultez notre guide : Développer un Agent IA No-Code avec Dify : La Formation Complète.
Pour un workflow :
- Créez une application de type Workflow.
- Ajoutez un nœud d'entrée utilisateur pour recueillir les informations nécessaires.
- Insérez un nœud Tool dans votre workflow.
- Sélectionnez l'API que vous avez précédemment importée.
- Reliez les variables issues de l'entrée utilisateur aux paramètres de l'API.
- Ajoutez un nœud LLM (Large Language Model) pour interpréter ou reformuler la réponse de l'API. Pour plus d'informations sur l'intégration de modèles personnalisés, référez-vous à notre article : Tutoriel Dify : Intégrer un LLM Personnalisé pour des Applications Sur Mesure.
- Ajoutez un nœud de sortie pour présenter le résultat final.
- Testez le workflow de bout en bout, puis publiez-le.
Pour un agent :
L'outil importé peut être directement ajouté à la liste des capacités de votre agent. L'agent, grâce à ses capacités de raisonnement, choisira alors dynamiquement l'outil approprié en fonction de la demande de l'utilisateur. Dify recommande l'utilisation des workflows pour les traitements déterministes et les chatflows pour les interactions conversationnelles nécessitant une mémoire et des variables de session. Pour en savoir plus sur la création d'agents, vous pouvez consulter : Comment créer un assistant IA pour développeurs avec Dify.
Appeler une application Dify depuis une application externe
Au-delà de l'intégration d'API tierces dans Dify, vous pouvez également appeler vos applications Dify (Chatflow, Workflow, Agent, Chatbot, générateur de texte) depuis des systèmes externes. Chaque type d'application dispose de ses propres endpoints. Voici un exemple générique pour exécuter un workflow Dify :
curl -X POST "https://api.dify.ai/v1/workflows/run" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"city": "Paris"
},
"response_mode": "blocking",
"user": "client-unique-123"
}'
Il est impératif que, dans un environnement de production, cet appel soit effectué depuis un serveur applicatif. La clé API de Dify ne doit jamais être intégrée directement dans le code JavaScript côté frontend, car elle pourrait être facilement extraite et utilisée de manière abusive.
Architecture recommandée pour l'intégration
Pour une intégration sécurisée et fiable, il est conseillé de mettre en place une architecture qui sépare les responsabilités :
- Frontend : Collecte les requêtes de l'utilisateur.
- Backend propriétaire : Ce serveur intermédiaire est le gardien de la clé API Dify. Il valide les entrées utilisateur, applique les règles d'accès et effectue l'appel sécurisé vers Dify.
- Dify : Orchestre le workflow ou l'agent, interagit avec le modèle de langage et utilise les outils externes (y compris les API tierces que vous avez intégrées).
- API tierce : Fournit les données ou exécute les actions spécifiques demandées par Dify.
- Backend (retour) : Filtre la réponse de Dify, journalise l'appel pour la traçabilité et renvoie une réponse formatée au frontend.
Cette architecture à trois niveaux limite l'exposition des informations sensibles et permet d'ajouter des contrôles essentiels tels que les quotas, la validation des données et une meilleure traçabilité des opérations.
Sécurité et fiabilité des intégrations Dify
La sécurité et la fiabilité sont primordiales lors de l'intégration d'API. Suivez ces bonnes pratiques :
- Utiliser HTTPS pour toutes les communications et des clés API distinctes pour les environnements de développement, de staging et de production.
- Stocker les secrets (clés API, jetons) dans des variables d'environnement ou un gestionnaire de secrets dédié, jamais en clair dans le code.
- Restreindre les permissions de chaque clé API au strict nécessaire.
- Valider rigoureusement les paramètres d'entrée avant tout appel à une API externe.
- Définir des délais d'expiration (timeouts) et mettre en place des mécanismes de nouvelle tentative (retries) pour gérer les défaillances temporaires.
- Prévoir une réponse de secours ou un mécanisme de fallback en cas de panne de l'API tierce ou de dépassement de quota.
- Éviter d'autoriser un agent à exécuter des actions irréversibles sans une confirmation explicite de l'utilisateur.
- Surveiller les changements du schéma OpenAPI des API tierces. Une modification non anticipée, comme la suppression d'une fonction, peut potentiellement rendre une application Dify inopérante.
Conclusion
Dify simplifie considérablement l'intégration d'API tierces et d'applications externes dans vos solutions d'IA. Grâce à des méthodes flexibles comme OpenAPI, les plugins ou les endpoints personnalisés, vous pouvez étendre les capacités de vos agents et workflows, les rendant plus puissants et connectés au monde réel. En suivant les bonnes pratiques de sécurité et d'architecture, vous assurez non seulement la fonctionnalité, mais aussi la robustesse et la fiabilité de vos applications Dify. La capacité de Dify à exposer ses propres applications comme des API REST offre également une flexibilité inégalée pour l'intégration dans des écosystèmes applicatifs plus larges.
FAQ
Quelles sont les principales méthodes pour intégrer une API tierce dans Dify ?
Dify permet d'intégrer des API tierces via cinq méthodes principales : l'importation de schémas OpenAPI/Swagger, l'utilisation de plugins, la connexion à des serveurs MCP, la configuration d'endpoints personnalisés et l'appel de l'API REST Dify elle-même depuis un backend externe. Ces options offrent une grande flexibilité pour adapter Dify à divers besoins d'intégration.
Comment sécuriser l'intégration d'une API externe avec Dify ?
Pour sécuriser l'intégration, il est crucial d'utiliser HTTPS, de stocker les clés API et autres secrets dans des variables d'environnement ou un gestionnaire de secrets, et de ne jamais les exposer côté client. Il faut également restreindre les permissions des clés, valider les paramètres d'entrée, et mettre en place des mécanismes de gestion des erreurs comme les délais d'expiration et les réponses de secours.
Peut-on appeler une application Dify depuis une application externe ?
Oui, absolument. Chaque application publiée dans Dify (qu'il s'agisse d'un Chatflow, d'un Workflow, d'un Agent, d'un Chatbot ou d'un générateur de texte) expose automatiquement une API REST. Cela permet à des applications externes, généralement via un backend sécurisé, d'interagir directement avec les fonctionnalités de Dify en utilisant une clé API et un jeton Bearer.
Quel est le rôle du schéma OpenAPI dans l'intégration d'API avec Dify ?
Le schéma OpenAPI (anciennement Swagger) joue un rôle central en fournissant une description standardisée des capacités d'une API tierce. Dify utilise ce schéma pour générer automatiquement une interface d'outil, permettant à ses workflows et agents d'interagir facilement avec l'API sans nécessiter de codage manuel complexe pour chaque opération.
L'équipe SEOmnix
L'équipe technique de SEOmnix teste, compare et décortique les meilleurs outils SaaS et IA pour aider les professionnels à automatiser leur croissance.