Skip to main content

APIs

Les APIs (Interfaces de Programmation d'Application) sont un ensemble de règles et de protocoles qui permettent à différentes applications logicielles de communiquer et d'interagir entre elles. Softyflow fournit un puissant constructeur d'API qui vous permet de créer des APIs personnalisées pour l'intégration et l'échange de données entre différentes plateformes, services et systèmes.

Créer une API​

Softyflow fournit une interface intuitive pour créer des APIs. Pour créer une nouvelle API, accédez à la section API située sur le côté gauche de l'interface du constructeur et fournissez un nom pour votre API.

API Creation Interface

L'interface de création d'API vous permet de configurer rapidement de nouvelles APIs en fournissant un nom unique et des paramètres de configuration initiaux.

Modes de Développement​

Softyflow offre deux approches de développement pour construire des APIs :

  • Code Natif : Écrivez directement du code JavaScript pour une logique personnalisĂ©e
  • Actions PrĂ©dĂ©finies : Utilisez le constructeur de workflow visuel avec des actions prĂ©configurĂ©es

Pour basculer entre les modes de développement, cliquez sur le bouton de bascule situé en haut au centre de l'interface.

API Creation Interface

Variables Système Disponibles​

Softyflow fournit plusieurs variables système qui sont automatiquement disponibles pendant le développement de l'API :

VariableTypeDescription
SF_bodyObjectContient les données du corps de la requête envoyées à l'API
SF_headersObjectContient les en-tĂŞtes HTTP de la requĂŞte API
SF_queryObjectContient les paramètres de requête de l'URL de l'API
SF_modeStringMode d'exécution : "test", "uat", ou "prod"
SF_initiatorObjectContient les informations sur l'utilisateur qui a invoqué l'API

Configurer une API​

Pour accéder aux paramètres de configuration de l'API, cliquez sur le bouton d'icône de paramètres pour ouvrir le panneau de configuration. Ce panneau fournit un contrôle complet sur les propriétés et les permissions de votre API.

API Configuration Panel

Le panneau de configuration vous permet de gérer les paramètres de l'API, les droits d'accès et de surveiller les journaux d'exécution.

Options de Configuration​

Paramètres Généraux​

Pendant le processus de configuration de l'API, les administrateurs peuvent :

  • Nom de l'API : Modifier l'identifiant de l'API
  • Droits d'Accès : DĂ©finir qui peut invoquer l'API
    • SĂ©lectionner des groupes d'utilisateurs spĂ©cifiques
    • DĂ©finir comme publique pour un accès sans restriction
API Configuration Panel

Informations API​

Le panneau de configuration affiche les détails essentiels de l'API :

Informations sur le Point de Terminaison :

  • URL : L'URL complète du point de terminaison oĂą l'API est accessible
  • Method : MĂ©thode HTTP utilisĂ©e (GET, POST, PUT, DELETE)
  • Body : Structure de charge utile attendue et format de donnĂ©es
API Configuration Panel

Variables Système :

  • SF_body : Charge utile du corps de la requĂŞte
  • SF_headers : En-tĂŞtes de la requĂŞte
  • SF_query : Paramètres de requĂŞte de l'URL
  • SF_mode : Environnement d'exĂ©cution actuel
  • SF_initiator : Utilisateur qui a invoquĂ© l'API
API Configuration Panel

Journaux d'Exécution​

La section des journaux capture des informations détaillées sur l'exécution :

  • User : IdentitĂ© de l'utilisateur qui a invoquĂ© l'API
  • Launch Date : Horodatage de l'appel API
  • Result : RĂ©sultat de l'exĂ©cution et donnĂ©es de rĂ©ponse
  • Details : Cliquez sur l'icĂ´ne Ĺ“il pour afficher les dĂ©tails complets de l'exĂ©cution
API Configuration Panel

Les journaux fournissent des informations précieuses pour le débogage, la surveillance de l'utilisation de l'API et le suivi des performances.

Tester et Exécuter les APIs​

Tester une API​

Softyflow fournit des capacités de test intégrées pendant la phase de développement. Vous pouvez définir des variables de test et valider le comportement de l'API avant le déploiement.

API Test Variables Configuration

Définissez des variables de test au format JSON pour simuler de vraies requêtes API. Cela vous permet de valider la logique de votre API avec différents scénarios d'entrée.

Exécuter les Tests​

Cliquez sur le bouton œil pour exécuter le test de l'API. Les résultats seront affichés dans la section de sortie ci-dessous.

API Test Results

Le panneau de résultats affiche la réponse de l'API, le temps d'exécution et toutes les erreurs ou avertissements rencontrés pendant les tests.

Invoquer les APIs​

Softyflow fournit deux méthodes pour invoquer les APIs :

Méthode 1 : Utilisation de l'Action InvokeApi​

L'action InvokeApi fournit une approche visuelle sans code pour appeler des APIs depuis vos processus ou workflows.

InvokeApi Action Selection

Sélectionnez l'action InvokeApi depuis la palette d'actions pour commencer à configurer votre appel API.

Étapes de Configuration :

  1. Sélectionner l'API : Choisissez l'API que vous souhaitez invoquer dans la liste déroulante
API Selection and Variable Assignment
  1. Nom de Variable : Spécifiez le nom de la variable où la réponse de l'API sera stockée

  2. Corps de la Requête (optionnel) : Ajoutez des données de corps pour les requêtes POST/PUT

API Request Body Configuration

L'éditeur de corps vous permet de définir la charge utile au format JSON, avec prise en charge des variables dynamiques.

Méthode 2 : Utilisation d'Axios (Approche Basée sur le Code)​

Pour des cas d'utilisation avancés ou des intégrations externes, vous pouvez invoquer les APIs Softyflow en utilisant des clients HTTP standard comme Axios.

Exemple d'Implémentation :

// Define request body
let body = {
email: "client1@gmail.com",
userId: 12345,
};

// Construct API URL with mode parameter
let apiUrl =
"https://softydev.softyflow.io/api/v1/api/6491696d1ef51ed2f7044b79?SF_mode=prod";

// Available modes: test, uat, prod

// Make POST request
let result = await axios.post(apiUrl, body);

// Access response data
console.log(result.data);

Considérations Clés :

  • Paramètre de Mode : SpĂ©cifiez toujours SF_mode dans l'URL (test, uat, ou prod)
  • Authentification : Incluez les en-tĂŞtes d'authentification si nĂ©cessaire
  • Gestion des Erreurs : ImplĂ©mentez des blocs try-catch pour une gestion robuste des erreurs
  • Format de RĂ©ponse : Les rĂ©ponses API sont gĂ©nĂ©ralement au format JSON

Exemple Avancé avec En-têtes :

try {
let body = {
email: "user@example.com",
action: "getData",
};

let config = {
headers: {
"Content-Type": "application/json",
Authorization: "Bearer YOUR_TOKEN",
},
};

let apiUrl =
"https://your-instance.softyflow.io/api/v1/api/YOUR_API_ID?SF_mode=prod";

let response = await axios.post(apiUrl, body, config);

// Process response
return response.data;
} catch (error) {
console.error("API call failed:", error);
throw error;
}

Meilleures Pratiques​

Conception d'API​

  • Nommage Clair : Utilisez des noms descriptifs qui indiquent le but de l'API
  • Structure CohĂ©rente : Maintenez des formats de requĂŞte/rĂ©ponse uniformes
  • ContrĂ´le de Version : Envisagez le versionnage de l'API pour les changements futurs
  • Documentation : Documentez les entrĂ©es, sorties et codes d'erreur attendus

Sécurité​

  • ContrĂ´le d'Accès : Restreignez l'accès Ă  l'API aux utilisateurs/groupes autorisĂ©s
  • Validation des EntrĂ©es : Validez toujours les donnĂ©es entrantes
  • Messages d'Erreur : Évitez d'exposer des informations système sensibles
  • Limitation de DĂ©bit : ImplĂ©mentez une limitation pour les APIs de production

Tests​

  • Tester Tous les Modes : Validez le comportement dans les modes test, UAT et production
  • Cas Limites : Testez avec divers scĂ©narios d'entrĂ©e
  • Conditions d'Erreur : VĂ©rifiez la gestion appropriĂ©e des erreurs
  • Performance : Surveillez les temps de rĂ©ponse et optimisez si nĂ©cessaire

Surveillance​

  • RĂ©viser les Journaux : VĂ©rifiez rĂ©gulièrement les journaux d'exĂ©cution pour dĂ©tecter les erreurs
  • Modèles d'Utilisation : Surveillez quelles APIs sont appelĂ©es le plus frĂ©quemment
  • MĂ©triques de Performance : Suivez les temps de rĂ©ponse et les taux de succès
  • Systèmes d'Alerte : Configurez des notifications pour les Ă©checs critiques

Dépannage​

Problèmes Courants​

API qui ne Répond Pas​

Problème : Les appels API ne retournent aucune réponse ou expirent

Solutions :

  • VĂ©rifiez que l'URL de l'API est correcte
  • VĂ©rifiez si l'API est activĂ©e dans le mode spĂ©cifiĂ©
  • Assurez-vous de la connectivitĂ© rĂ©seau Ă  l'instance Softyflow
  • Consultez les journaux d'exĂ©cution pour les dĂ©tails d'erreur

Erreurs d'Authentification​

Problème : Réponses "Non autorisé" ou "Interdit"

Solutions :

  • VĂ©rifiez que l'utilisateur dispose des droits d'accès appropriĂ©s
  • VĂ©rifiez si l'API est dĂ©finie comme publique si nĂ©cessaire
  • Confirmez que les en-tĂŞtes d'authentification sont corrects
  • VĂ©rifiez les attributions de rĂ´les dans la configuration

Format de Données Incorrect​

Problème : L'API reçoit ou retourne des données inattendues

Solutions :

  • Validez que le corps de la requĂŞte correspond au schĂ©ma attendu
  • VĂ©rifiez l'utilisation des variables SF_body, SF_query
  • Examinez la logique de l'API pour une transformation appropriĂ©e des donnĂ©es
  • Testez avec des donnĂ©es d'exemple en mode test

Problèmes de Performance​

Problème : Temps de réponse lents de l'API

Solutions :

  • Optimisez les requĂŞtes de base de donnĂ©es dans la logique de l'API
  • RĂ©duisez le traitement de donnĂ©es inutile
  • Envisagez la mise en cache des donnĂ©es frĂ©quemment accĂ©dĂ©es
  • Surveillez et limitez les exĂ©cutions simultanĂ©es

Pour une assistance supplémentaire, consultez les journaux d'exécution et examinez les paramètres de configuration de l'API.