API
Le bloc API vous permet de connecter votre flux de travail à des services externes via des points de terminaison API en utilisant des requêtes HTTP. Il prend en charge diverses méthodes comme GET, POST, PUT, DELETE et PATCH, vous permettant d'interagir avec pratiquement n'importe quel point de terminaison API.

Aperçu
Le bloc API vous permet de :
Connecter à des services externes : effectuer des requêtes HTTP vers des API REST et des services web
Envoyer et recevoir des données : traiter les réponses et transformer les données provenant de sources externes
Intégrer des plateformes tierces : se connecter à des services comme Stripe, Slack ou des API personnalisées
Gérer l'authentification : prendre en charge diverses méthodes d'authentification, y compris les jetons Bearer et les clés API
Comment ça fonctionne
Le bloc API traite les requêtes HTTP selon une approche structurée :
- Configuration de la requête - Définir l'URL, la méthode, les en-têtes et les paramètres du corps
- Exécution de la requête - Envoyer la requête HTTP au point de terminaison spécifié
- Traitement de la réponse - Gérer les données de réponse, les codes d'état et les en-têtes
- Gestion des erreurs - Gérer les délais d'attente, les nouvelles tentatives et les conditions d'erreur
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 comme paramètres de requête. Par exemple :
Key: apiKey
Value: your_api_key_here
Key: limit
Value: 10
Ceux-ci 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 à partir de la sortie d'un autre bloc
- Générées dynamiquement pendant l'exécution du workflow
Accès aux résultats
Une fois qu'une requête API est terminée, vous pouvez accéder à ses sorties :
<api.data>
: Les données du corps de la réponse de l'API<api.status>
: Code de statut HTTP (200, 404, 500, etc.)<api.headers>
: En-têtes de réponse du serveur<api.error>
: Détails de l'erreur si la requête a échoué
Fonctionnalités avancées
Construction dynamique d'URL
Construisez des URL dynamiquement en utilisant des variables provenant de blocs précédents :
// In a Function block before the 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'attente réseau avec backoff exponentiel
- Les réponses de limite de débit (codes d'état 429)
- Les erreurs serveur (codes d'état 5xx) avec logique de nouvelle tentative
- Les échecs de connexion avec tentatives de reconnexion
Validation de la réponse
Validez les réponses API avant le traitement :
// In a Function block after the API
if (<api.status> === 200) {
const data = <api.data>;
// Process successful response
} else {
// Handle error response
console.error(`API Error: ${<api.status>}`);
}
Entrées et sorties
URL : Le point de terminaison auquel 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 renvoyé 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 d'erreur
Accès : Disponible dans les blocs après l'appel API
Exemples de cas d'utilisation
Récupérer les données de profil utilisateur
Scénario : récupérer les informations utilisateur depuis un service externe
- Le bloc de fonction construit l'ID utilisateur à partir de l'entrée
- Le bloc API appelle le point de terminaison GET /users/{id}
- Le bloc de fonction traite et formate les données utilisateur
- Le bloc de réponse renvoie le profil formaté
Traitement des paiements
Scénario : traiter un paiement via l'API Stripe
- Le bloc de fonction valide les données de paiement
- Le bloc API crée une intention de paiement via Stripe
- Le bloc de condition gère le succès/échec du paiement
- Le bloc Supabase met à jour le statut de la commande dans la 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 identifiants
- Gérez les erreurs avec élégance : connectez une logique de gestion des erreurs pour les requêtes échouées
- Validez les réponses : vérifiez les codes d'état et les formats de réponse avant de traiter les données
- Respectez les limites de taux : soyez attentif aux limites de taux des API et implémentez un throttling approprié