Admin-API-Anfrage senden
Die Aktion „Admin-API-Anfrage senden“ kann die meisten Mutationen in der GraphQL Admin API verwenden, um Änderungen an deinem Shop vorzunehmen, einschließlich Mutationen, die in Flow noch nicht als Aktionen verfügbar sind.
Auf dieser Seite
Felder
Die Aktion „Admin-API-Anfrage senden“ enthält die folgenden Felder.
| Feld | Beschreibung |
|---|---|
| Mutation | Erforderlich. Die Shopify GraphQL Admin Mutation, die du aufrufen möchtest. Eine Mutation ist eine API, die eine Aktion ausführt oder Daten aktualisiert. |
| Mutationseingaben | Erforderlich. Die Daten (in JSON), die du als Teil deiner Mutationsanfrage senden musst. Jede Mutation erfordert einen anderen Datensatz, der unter dem für jede Mutation angegebenen Link dokumentiert ist. Um das erforderliche JSON zu erstellen, kannst du Liquid oder eine Aktion Code ausführen verwenden. |
Trigger
Die Aktion „Admin-API-Anfrage senden“ kann in jedem Workflow mit jedem Trigger verwendet werden, sofern der Workflow die für die Erstellung der Mutationseingaben erforderlichen Daten bereitstellt.
Beispiele
Beispiel 1: Für ein Produkt verwendete Vorlage aktualisieren
In diesem Beispiel verwenden wir die Aktion „Admin-API-Anfrage senden“, um die Mutation productUpdate aufzurufen und die für ein Produkt verwendete Vorlage zu aktualisieren.
Das Feld id ist erforderlich und muss eine gültige Produkt-GID sein. Hier legen wir sie mit der Liquid-Variable {{product.id}} fest. Dies setzt voraus, dass dein Workflow einen Trigger hat, der ein Produktobjekt bereitstellt.
Der templateSuffix ist der Name der Vorlage, die du auf das Produkt anwenden möchtest. Wenn du beispielsweise die Vorlage pre-order anwenden möchtest, legst du für den templateSuffix pre-order fest.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}Beispiel 2: Steuerbefreiungsstatus für eine:n Kund:in aktualisieren
In diesem Beispiel verwenden wir die Aktion „Admin-API-Anfrage senden“, um die Mutation customerUpdate aufzurufen und den Steuerbefreiungsstatus für eine:n Kund:in zu aktualisieren.
Das Feld id ist erforderlich und muss eine gültige Kunden-GID sein. Hier legen wir sie mit der Liquid-Variable {{order.customer.id}} fest. Dies setzt voraus, dass dein Workflow einen Trigger hat, der ein Bestellobjekt bereitstellt.
Das Feld taxExempt ist ein Boolescher Wert, der angibt, ob der/die Kund:in steuerbefreit ist. In diesem Beispiel legen wir es auf true fest.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Beispiel 3: Gebietsschema für eine:n Kund:in aktualisieren
In diesem Beispiel verwenden wir die Aktion „Admin-API-Anfrage senden“, um die Mutation customerUpdate aufzurufen und das Gebietsschema für eine:n Kund:in zu aktualisieren.
Das Feld id ist erforderlich und muss eine gültige Kunden-GID sein. Hier legen wir sie mit der Liquid-Variable {{customer.id}} fest. Dies setzt voraus, dass dein Workflow einen Trigger hat, der ein Kundenobjekt bereitstellt.
Das Feld locale ist ein String, der das Gebietsschema des/der Kund:in darstellt. In diesem Beispiel legen wir es auf en fest.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Liquid-Tipps
Flow unterstützt einen json-Liquid-Filter, der bei der Erstellung der Eingabe nützlich sein kann. Die folgenden Beispiele verwenden alle die Mutation customerUpdate und setzen voraus, dass dein Workflow über einen Trigger verfügt, der ein Kundenobjekt bereitstellt.
Mit Strings arbeiten
Im folgenden Beispiel wird die Notiz zu einem/einer Kund:in aktualisiert:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Der json-Filter maskiert den String, um korrektes JSON sicherzustellen. Dies führt zu folgendem JSON, nachdem der Workflow ausgeführt wurde:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Mit Arrays arbeiten
Array-Beispiel
Der json-Filter wandelt ein Liquid-Array in ein JSON-Array um. Das folgende Beispiel gibt ein JSON-Array aus, wenn ein Liquid-Array bereitgestellt wird:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Dies führt zu folgendem JSON, nachdem der Workflow ausgeführt wurde:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}For-Schleifenbeispiel
Das folgende Beispiel verwendet eine Schleife, um die Elemente eines Arrays durch Kommas getrennt auszugeben:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}Dies führt zu folgendem JSON, wenn der Workflow ausgeführt wird:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Map-Beispiel
Der map-Filter kann verwendet werden, um ein Array einer bestimmten Eigenschaft aus einem Array von Objekten zu erhalten. Im folgenden Beispiel wird ein Array von city-Eigenschaften aus einem Array von Kundenadressen extrahiert:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Dies führt zu folgendem JSON, nachdem der Workflow ausgeführt wurde:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Einschränkungen
Die Aktion „Admin-API-Anfrage senden“ hat die folgenden Einschränkungen:
- Die Aktion zeigt eine Liste von
MutationenundMutationseingabenaus der von Flow verwendeten Admin-API-Version an. - Wenn neue API-Versionen veröffentlicht werden, kann diese Aktion fehlschlagen, wenn sie eine Mutation oder ein Feld verwendet, das geändert wurde oder veraltet ist.
- Die Aktion unterstützt keine GraphQL-Abfragen, sondern nur Mutationen.
- Die Aktion unterstützt keine Mutationen, die veraltet sind.
- Die Aktion unterstützt einige Mutationen nicht, die für bestimmte Apps spezifisch sind, einschließlich einiger Abonnement-, Marketingaktivitäts- und Rabattmutationen.
- Die Aktion unterstützt keine asynchronen Mutationen oder Mutationen, die einen
Job-Typ zurückgeben. - Die Aktion unterstützt keine Mutationen, die nicht die Node-Schnittstelle implementieren.
Vorlagen
Gratisartikel (100 % rabattiert) zu neuen Bestellungen hinzufügen
Diese Vorlage fügt neuen Bestellungen einen kostenlosen, rabattierten Artikel hinzu, wenn der Artikel auf Lager ist. Sie prüft den Lagerbestand, wendet einen Rabatt von 100 % an und aktualisiert die Bestellung, ohne den/die Kund:in zu benachrichtigen. Diese Automatisierung wäre nützlich, um (1) die Kundenzufriedenheit zu erhöhen, indem ein kostenloser Überraschungsartikel der Bestellung beigelegt wird, (2) neue oder weniger bekannte Produkte zu bewerben, indem sie als kostenlose Proben zu Bestellungen hinzugefügt werden, oder (3) Werbeaktionen zu optimieren, indem die Aufnahme und Rabattierung von Gratisartikeln automatisiert wird. Vorlage anzeigen
Bestellungen für Unternehmen zulassen, die durch Anfragen für Unternehmenskonten erstellt wurden
Weise eine Bestellberechtigung zu, wenn ein Unternehmen durch eine Anfrage für ein Unternehmenskonto erstellt wird. Vorlage ansehen
Ändere die Produktvorlage, wenn Varianten nicht oder wieder vorrätig sind
Aktualisiere eine Produktvorlage basierend auf dem Inventar der Produktvarianten. Der Workflow ermöglicht es dir, zwischen Vorlagen für „vorrätig“ (die Standardvorlage des Shops), „nicht vorrätig“ und für den Fall zu wechseln, dass eine oder mehrere Varianten nicht vorrätig sind. Vorlage ansehen
Führe alle digitalen Artikel in einer Bestellung aus
Führt alle Artikel aus, für die keine physische Zustellung erforderlich ist (z. B. digitale Artikel) oder die mit einer Liste von SKUs übereinstimmen. Wird für jede neue Bestellung einmal pro Fulfillmentstandort (die „Fulfillment-Bestellung“) ausgeführt. Vorlage ansehen