Scrydon

API

Connectez-vous à des services externes via des points de terminaison API

Le bloc API vous permet de connecter votre workflow à des services externes via des requêtes HTTP. Il prend en charge diverses méthodes telles que GET, POST, PUT, DELETE et PATCH, ce qui vous permet d'interagir avec pratiquement n'importe quel point de terminaison API.

API Block

Aperçu

Le bloc API vous permet de :

Se connecter à des services externes : effectuez des requêtes HTTP vers des API REST et des services web

Envoyer et recevoir des données : traitez les réponses et transformez les données provenant de sources externes

Intégrer des plateformes tierces : connectez-vous à des services comme Stripe, Slack ou des API personnalisées

Gérer l'authentification : prenez en charge diverses méthodes d'auth, notamment les jetons Bearer et les clés API

Options de configuration

URL

L'URL du point de terminaison pour la requête API. Cela peut être :

  • Une URL statique saisie directement dans le bloc
  • Une URL dynamique connectée depuis la sortie d'un autre bloc
  • Une URL avec des paramètres de chemin

Méthode

Sélectionnez la méthode HTTP pour votre requête :

  • GET : récupérer des données du serveur
  • POST : envoyer des données au serveur pour créer une ressource
  • PUT : mettre à jour une ressource existante sur le serveur
  • DELETE : supprimer une ressource du serveur
  • PATCH : mettre à jour partiellement une ressource existante

Paramètres de requête

Définissez des paires clé-valeur qui seront ajoutées à l'URL en tant que paramètres de requête. Par exemple :

Key: apiKey
Value: your_api_key_here

Key: limit
Value: 10

Ces paramètres seraient ajoutés à l'URL sous la forme ?apiKey=your_api_key_here&limit=10.

En-têtes

Configurez les en-têtes HTTP pour votre requête. Les en-têtes courants incluent :

Key: Content-Type
Value: application/json

Key: Authorization
Value: Bearer your_token_here

Corps de la requête

Pour les méthodes qui prennent en charge un corps de requête (POST, PUT, PATCH), vous pouvez définir les données à envoyer. Le corps peut être :

  • Des données JSON saisies directement dans le bloc
  • Des données connectées depuis la sortie d'un autre bloc
  • Générées dynamiquement lors de l'exécution du workflow

Accéder aux résultats

Une fois la requête API terminée, vous pouvez accéder à ses sorties :

  • <api.data> : les données du corps de la réponse API
  • <api.status> : le code de statut HTTP (200, 404, 500, etc.)
  • <api.headers> : les en-têtes de réponse du serveur
  • <api.error> : les détails de l'erreur si la requête a échoué

Fonctionnalités avancées

Construction d'URL dynamique

Construisez des URL dynamiquement en utilisant des variables des blocs précédents :

// Dans un bloc Fonction avant le bloc API
const userId = <start.userId>;
const apiUrl = `https://api.example.com/users/${userId}/profile`;

Nouvelles tentatives de requête

Le bloc API gère automatiquement :

  • Les délais d'expiration réseau avec un backoff exponentiel
  • Les réponses de limitation de débit (codes de statut 429)
  • Les erreurs serveur (codes de statut 5xx) avec logique de réessai
  • Les échecs de connexion avec tentatives de reconnexion

Validation des réponses

Validez les réponses API avant de les traiter :

// Dans un bloc Fonction après le bloc API
if (<api.status> === 200) {
  const data = <api.data>;
  // Traiter la réponse réussie
} else {
  // Gérer la réponse d'erreur
  console.error(`API Error: ${<api.status>}`);
}

Entrées et sorties

  • URL : le point de terminaison vers lequel envoyer la requête

  • Méthode : méthode HTTP (GET, POST, PUT, DELETE, PATCH)

  • Paramètres de requête : paires clé-valeur pour les paramètres d'URL

  • En-têtes : en-têtes HTTP pour l'authentification et le type de contenu

  • Corps : charge utile de la requête pour les méthodes POST/PUT/PATCH

  • api.data : données du corps de la réponse de l'appel API

  • api.status : code de statut HTTP retourné par le serveur

  • api.headers : en-têtes de réponse du serveur

  • api.error : détails de l'erreur si la requête a échoué

  • Données de réponse : contenu principal de la réponse API

  • Informations de statut : statut HTTP et détails de l'erreur

  • Accès : disponible dans les blocs après l'appel API

Exemples d'utilisation

Récupérer des données de profil utilisateur

Scénario : récupérer des informations utilisateur depuis un service externe

  1. Le bloc Fonction construit l'ID utilisateur depuis l'entrée
  2. Le bloc API appelle le point de terminaison GET /users/{id}
  3. Le bloc Fonction traite et formate les données utilisateur
  4. Le bloc Réponse retourne le profil formaté

Créer un ticket de support

Scénario : soumettre une demande de support à un système de tickets

  1. L'agent analyse le problème de l'utilisateur et génère les données du ticket
  2. Le bloc API envoie le ticket en POST au système de support
  3. Le bloc Condition vérifie si le ticket a été créé avec succès
  4. Le bloc Réponse confirme la création du ticket avec son ID

Traitement des paiements

Scénario : traiter un paiement via l'API Stripe

  1. Le bloc Fonction valide les données de paiement
  2. Le bloc API crée l'intention de paiement via Stripe
  3. Le bloc Condition gère le succès/l'échec du paiement
  4. Le bloc Fonction met à jour le statut de la commande en base de données

Bonnes pratiques

  • Utilisez des variables d'environnement pour les données sensibles : ne codez pas en dur les clés API ou les informations d'identification
  • Gérez les erreurs avec grâce : connectez une logique de gestion des erreurs pour les requêtes échouées
  • Validez les réponses : vérifiez les codes de statut et les formats de réponse avant de traiter les données
  • Respectez les limites de débit : tenez compte des limites de débit des API et implémentez une limitation appropriée
Sur cette page

Sur cette page