Führen Sie eine HTTP-Anfrage unter Shopify Flow durch
HTTP-Anfragen in Shopify Flow senden, auch im Basic-Plan: Anleitung mit Video und Airtable-Beispiel für externe API-Aufrufe.
Warum sollten Sie dies für HTTP-Anfragen verwenden?
Shopify Flow Enthält eine integrierte Aktion zum Senden von HTTP-Anfragen, die jedoch nur in bestimmten Shopify-Plänen verfügbar ist. Wenn Ihr Shop den „Basic“-Plan nutzt, können Sie externe APIs dennoch aufrufen, indem Sie stattdessen Workflow Transactional Email verwenden.
Sie erstellen die Anfrage einmalig in der App und wählen sie anschließend in Ihrem Workflow mithilfe der Aktion „HTTP-Anfrage“ aus. Da die Anfrage in der App und nicht im Workflow gespeichert wird, befinden sich Ihre Anmeldedaten niemals in Ihrer Shopify Flow-Konfiguration, und Sie profitieren kostenlos von einer vollständigen Protokollierung der Anfragen und Antworten.
Was Sie entwickeln werden
Ein Workflow, der alle 10 Minuten ausgeführt wird, Produkte ermittelt, die noch nicht in Airtable vorhanden sind, und diese dorthin übermittelt.
Hierbei wird Folgendes verwendet:
- Geheimnisse zum Speichern des Airtable-Tokens und der Basis-ID
- HTTP-Anfragen zur Definition der Anfragvorlage
- Die Aktion „HTTP-Anfrage“ unter Shopify Flow, um sie auszuführen
- Verlauf zur Überprüfung des Ergebnisses
Videoanleitung
Der gesamte Ablauf: das Erstellen der Geheimnisse, die HTTP-Anfrage und der Workflow. Das Video hat keinen Ton.
Bevor Sie beginnen
- Workflow Transactional Email ist installiert.
- Sie haben Zugriff auf Shopify Flow.
- Sie verfügen über eine Airtable-Datenbank-ID und eine Tabelle, die für die Aufnahme von Produktdaten bereit ist.
- Sie verfügen über ein Airtable-Zugriffstoken für () mit den entsprechenden Berechtigungen.
Schritt 1: Speichern Sie die Anmeldedaten als Geheimnisse
Anstatt Anmeldedaten direkt in die Anfrage einzugeben, speichern Sie diese einmalig als „Secrets“ und verweisen Sie darauf als {{ secrets.yourKeyName }}. Diese werden im Ruhezustand verschlüsselt, können für mehrere Anfragen wiederverwendet werden und werden aus Ihrem Verlauf entfernt.
Öffnen Sie „Secrets“ und klicken Sie auf „Geheimnis erstellen“.

Geben Sie den Schlüssel, den Wert und eine Beschreibung ein und speichern Sie anschließend.

In diesem Beispiel werden zwei Geheimnisse gespeichert: das persönliche Zugriffstoken und die Airtable-Basis-ID.
Schritt 2: Erstellen Sie die Anfrage
In diesem Beispiel wird der Endpunkt „create-records“ von Airtable unter verwendet.
Öffnen Sie den Bereich „HTTP-Anfragen“ und klicken Sie auf „Anfrage erstellen“.

Geben Sie ihm einen eindeutigen Namen, beispielsweise „Airtable-Produktdatensatz erstellen“ - danach werden Sie später in Shopify Flow suchen.
Legen Sie die Methode fest. Zum Erstellen von Airtable-Datensätzen ist dies „POST“.
Geben Sie den Endpunkt in das URL-Feld ein. Das Präfix https:// ist fest vorgegeben; geben Sie daher den Rest ein:
api.airtable.com/v0/{{ secrets.airTableProductsBaseId }}/Products
Dieses Bild veranschaulicht, wie der Airtable-Endpunkt Ihrer Datenbank zugeordnet ist, sodass Sie ihn an Ihre eigenen Anforderungen anpassen können:
zugeordnet wird
Fügen Sie die von Airtable benötigten Kopfzeilen hinzu:
Authorization: Bearer {{ secrets.airtableAccessToken }}
Content-Type: application/json
Verwenden Sie im Request-Body eine Variable für die Datensätze, damit Shopify Flow diese bereitstellen kann:
{
"records": {{ variables.records }}
}
Airtable geht davon aus, dass diese Variable zu einem Array mit folgender Struktur aufgelöst wird:
"records": [
{
"fields": {
"Title": "Classic White T-Shirt",
"Handle": "classic-white-tshirt",
"Product ID": 1001
}
},
{
"fields": {
"Title": "Eco-Friendly Water Bottle",
"Handle": "eco-water-bottle",
"Product ID": 1002
}
}
]
Dieses Array werden wir im nächsten Schritt im Workflow erstellen.
Die fertige Anfrage sieht wie folgt aus:



Speichern Sie die Anfrage. Sie steht nun in der Aktion „HTTP-Anfrage“ unter Shopify Flow zur Auswahl.
Schritt 3: Erstellen Sie den Workflow
Öffnen Sie „Shopify Flow“ und erstellen Sie einen neuen Workflow.
Wählen Sie einen zeitgesteuerten Trigger. In diesem Beispiel wird der Vorgang zu Demonstrationszwecken alle 10 Minuten ausgeführt - wählen Sie für den Produktivbetrieb einen sinnvollen Zeitabstand.

Rufen Sie die Produkte ab, die noch nicht in Airtable vorhanden sind. Bereits gesendete Produkte erhalten im letzten Schritt das Tag added-to-airtable, sodass diese Abfrage sie ausschließt. Siehe die Referenz zu den Abfrageargumenten von von Shopify unter.

Formatieren Sie nun die Daten. Der Request-Body erwartet ein Array mit dem Namen records; verwenden Sie daher die Shopify Flow-Aktion „Code ausführen“, um die abgerufenen Produkte in dieses Array umzuwandeln.

Konfigurieren Sie den Schritt wie folgt:

Die Anfrage:
query {
getProductData {
id
handle
title
}
}
Der Code:
export default function main(input) {
const records = input.getProductData.map((data) => {
const numericId = parseInt(data.id.replace("gid://shopify/Product/", ""));
return {
fields: {
"Product ID": numericId,
"Title": data.title,
"Handle": data.handle
}
};
});
return {
records: JSON.stringify(records)
};
}
Das Ausgabeschema:
"The output of Run Code"
type Output {
"The message returned by the script"
records: String
}
Rechts können Sie eine Vorschau des Ergebnisses einsehen:

Fügen Sie die von dieser App bereitgestellte Aktion „HTTP-Anfrage“ hinzu.

Wählen Sie, wenn Sie dazu aufgefordert werden, die von Ihnen gespeicherte Anfrage - „Airtable-Produkteintrag erstellen“ - aus, speichern Sie anschließend und kehren Sie zum Workflow zurück.

Übergeben Sie im Feld „Variablen“ der Aktion die Datensätze, die Sie soeben formatiert haben:
{
"records": "{{runCode.records}}"
}

Zuletzt durchlaufen Sie die abgerufenen Produkte und taggen sie mit added-to-airtable, damit sie beim nächsten Durchlauf nicht erneut berücksichtigt werden.

Speichern Sie den Workflow und aktivieren Sie ihn.
Schritt 4: Überprüfen Sie, ob es funktioniert hat
Im Verlauf können Sie sehen, ob die Anfrage erfolgreich war und welche Antwort Airtable zurückgesendet hat.
angezeigt wird
Öffnen Sie den Eintrag, um die Anforderungsdaten, die Antwortdaten und den zeitlichen Ablauf zu überprüfen.

Von der Bearbeitungsseite der Anfrage aus gelangen Sie über die Schaltfläche „Anfrageverlauf“ direkt zum Verlauf, der auf diese eine Anfrage gefiltert ist.
Wen Sie mit dieser App nicht anrufen können
Vom Händler konfigurierte Anfragen durchlaufen eine Sicherheitsprüfung. Anfragen an interne oder private Netzwerkadressen werden abgelehnt, darunter localhost, Cloud-Metadaten-Endpunkte sowie alle Adressen, die zu einem privaten Adressbereich aufgelöst werden - selbst über eine Weiterleitung. Wenn Sie eine Fehlermeldung sehen, in der SSRF blocked erwähnt wird, befindet sich das Ziel auf dieser Liste. Anfragen dürfen zudem höchstens 5 Weiterleitungen durchlaufen, und die Antwortgröße ist auf 10 MB begrenzt.
Shopify Flow Das System begrenzt die Größe einer Aktion auf 50 KB. Ist eine Testantwort größer, blockiert die App das Speichern, anstatt zuzulassen, dass der Schritt innerhalb eines Live-Workflows fehlschlägt.
Bewährte Verfahren
- Verwenden Sie aussagekräftige Namen für Ihre Anfragen, damit diese in Shopify Flow leicht zu finden sind.
- Speichern Sie API-Token als Geheimnisse, anstatt sie in Header einzugeben.
- Konzentrieren Sie sich auf die Felder, die das Ziel tatsächlich benötigt.
- Überprüfen Sie nach jeder Änderung den Verlauf, um sicherzustellen, dass die Anfrage weiterhin erfolgreich ist.
- Fügen Sie vor der Anforderung eine Bedingung ein, damit diese nicht bei leeren Zyklen ausgeführt wird.
Verwandte Themen
- Geheimnisse - Speichern von Zugangsdaten.
- Variablen und Flüssigkeit - die Variablenreferenz, einschließlich der Überschreibung im Hauptteil.
- Hintergrund und Fehlerbehebung - das Auslesen einer fehlgeschlagenen Anfrage.
