Sim

API

Der API-Block ermöglicht es Ihnen, Ihren Workflow über API-Endpunkte mit externen Diensten zu verbinden, indem HTTP-Anfragen verwendet werden. Er unterstützt verschiedene Methoden wie GET, POST, PUT, DELETE und PATCH, wodurch Sie mit praktisch jedem API-Endpunkt interagieren können.

API-Block

Überblick

Der API-Block ermöglicht Ihnen:

Verbindung zu externen Diensten: HTTP-Anfragen an REST-APIs und Webdienste stellen

Daten senden und empfangen: Antworten verarbeiten und Daten aus externen Quellen transformieren

Integration von Drittanbieter-Plattformen: Verbindung mit Diensten wie Stripe, Slack oder benutzerdefinierten APIs

Authentifizierung verwalten: Unterstützung verschiedener Authentifizierungsmethoden einschließlich Bearer-Tokens und API-Schlüssel

Funktionsweise

Der API-Block verarbeitet HTTP-Anfragen durch einen strukturierten Ansatz:

  1. Anfrage konfigurieren - URL, Methode, Header und Body-Parameter festlegen
  2. Anfrage ausführen - HTTP-Anfrage an den angegebenen Endpunkt senden
  3. Antwort verarbeiten - Antwortdaten, Statuscodes und Header verarbeiten
  4. Fehlerbehandlung - Timeouts, Wiederholungsversuche und Fehlerbedingungen verwalten

Konfigurationsoptionen

URL

Die Endpunkt-URL für die API-Anfrage. Dies kann sein:

  • Eine statische URL, die direkt im Block eingegeben wird
  • Eine dynamische URL, die mit der Ausgabe eines anderen Blocks verbunden ist
  • Eine URL mit Pfadparametern

Methode

Wählen Sie die HTTP-Methode für Ihre Anfrage:

  • GET: Daten vom Server abrufen
  • POST: Daten an den Server senden, um eine Ressource zu erstellen
  • PUT: Eine bestehende Ressource auf dem Server aktualisieren
  • DELETE: Eine Ressource vom Server entfernen
  • PATCH: Eine bestehende Ressource teilweise aktualisieren

Abfrageparameter

Definieren Sie Schlüssel-Wert-Paare, die als Abfrageparameter an die URL angehängt werden. Zum Beispiel:

Key: apiKey
Value: your_api_key_here

Key: limit
Value: 10

Diese würden der URL als ?apiKey=your_api_key_here&limit=10 hinzugefügt werden.

Konfigurieren Sie HTTP-Header für Ihre Anfrage. Häufige Header sind:

Key: Content-Type
Value: application/json

Key: Authorization
Value: Bearer your_token_here

Anfrage-Body

Für Methoden, die einen Anfrage-Body unterstützen (POST, PUT, PATCH), können Sie die zu sendenden Daten definieren. Der Body kann sein:

  • JSON-Daten, die direkt im Block eingegeben werden
  • Daten, die mit der Ausgabe eines anderen Blocks verbunden sind
  • Dynamisch während der Workflow-Ausführung generierte Daten

Zugriff auf Ergebnisse

Nach Abschluss einer API-Anfrage können Sie auf folgende Ausgaben zugreifen:

  • <api.data>: Die Antwortdaten vom API
  • <api.status>: HTTP-Statuscode (200, 404, 500, usw.)
  • <api.headers>: Antwort-Header vom Server
  • <api.error>: Fehlerdetails, falls die Anfrage fehlgeschlagen ist

Erweiterte Funktionen

Dynamische URL-Konstruktion

Bauen Sie URLs dynamisch mit Variablen aus vorherigen Blöcken:

// In a Function block before the API
const userId = <start.userId>;
const apiUrl = `https://api.example.com/users/${userId}/profile`;

Anfrage-Wiederholungen

Der API-Block behandelt automatisch:

  • Netzwerk-Timeouts mit exponentiellem Backoff
  • Rate-Limit-Antworten (429-Statuscodes)
  • Serverfehler (5xx-Statuscodes) mit Wiederholungslogik
  • Verbindungsfehler mit Wiederverbindungsversuchen

Antwortvalidierung

Validieren Sie API-Antworten vor der Verarbeitung:

// 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>}`);
}

Eingaben und Ausgaben

  • URL: Der Endpunkt, an den die Anfrage gesendet werden soll

  • Method: HTTP-Methode (GET, POST, PUT, DELETE, PATCH)

  • Query Parameters: Schlüssel-Wert-Paare für URL-Parameter

  • Headers: HTTP-Header für Authentifizierung und Inhaltstyp

  • Body: Anfrage-Payload für POST/PUT/PATCH-Methoden

  • api.data: Antwortdaten vom API-Aufruf

  • api.status: Vom Server zurückgegebener HTTP-Statuscode

  • api.headers: Antwort-Header vom Server

  • api.error: Fehlerdetails, falls die Anfrage fehlgeschlagen ist

  • Response Data: Primärer API-Antwortinhalt

  • Status Information: HTTP-Status und Fehlerdetails

  • Access: Verfügbar in Blöcken nach dem API-Aufruf

Beispielanwendungsfälle

Benutzerprofildaten abrufen

Szenario: Benutzerinformationen von externem Dienst abrufen

  1. Funktionsblock erstellt Benutzer-ID aus Eingabe
  2. API-Block ruft GET /users/{id} Endpunkt auf
  3. Funktionsblock verarbeitet und formatiert Benutzerdaten
  4. Antwortblock gibt formatiertes Profil zurück

Zahlungsabwicklung

Szenario: Zahlung über Stripe API verarbeiten

  1. Funktionsblock validiert Zahlungsdaten
  2. API-Block erstellt Zahlungsabsicht über Stripe
  3. Bedingungsblock behandelt Zahlungserfolg/-fehler
  4. Supabase-Block aktualisiert Bestellstatus in der Datenbank

Best Practices

  • Umgebungsvariablen für sensible Daten verwenden: Keine API-Schlüssel oder Anmeldedaten im Code hinterlegen
  • Fehler elegant behandeln: Fehlerbehandlungslogik für fehlgeschlagene Anfragen einbinden
  • Antworten validieren: Statuscodes und Antwortformate vor der Datenverarbeitung prüfen
  • Ratenbegrenzungen beachten: Auf API-Ratenbegrenzungen achten und angemessene Drosselung implementieren
API