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é