Admin API-Anfrage senden

Die Aktion Admin API-Anfrage senden sendet eine Mutation an die Shopify GraphQL Admin API. Dadurch kannst du mit Flow fast jede Aktion ausführen, die die API zulässt.

Felder

Die Aktion Admin API-Anfrage senden enthält die folgenden Felder.

Felder, die in der Aktion "Admin API-Anfrage senden" verwendet werden
FeldBeschreibung
MutationErforderlich. Die Shopify-GraphQL-Admin-Mutation, die du aufrufen möchtest. Eine Mutation ist eine API, die Aktionen ausführt oder Daten aktualisiert.
MutationseingabenErforderlich. Die Daten (in JSON-Dateien), die du im Rahmen deiner Mutationsanfrage senden musst. Für jede Mutation ist ein anderer Satz von Daten erforderlich, der im für jede Mutation bereitgestellten Link dokumentiert wird. Um die erforderlichen JSON-Dateien zu erstellen, kannst du Liquid oder eine Aktion zum Ausführen von Code verwenden.

Trigger

Die Aktion Admin API-Anfrage senden kann in jedem Workflow mit jedem Trigger verwendet werden, solange der Workflow die Daten enthält, die zum Erstellen der Mutationseingaben erforderlich sind.

Beispiele

Beispiel 1: Die 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 richten wir das Feld mit der Liquid-Variable {{product.id}} ein. Dabei wird vorausgesetzt, dass dein Workflow einen Trigger verwendet, der ein Produktobjekt bereitstellt.

templateSuffix ist der Name der Vorlage, die du auf das Produkt anwenden möchtest. Wenn du beispielsweise die Vorlage pre-order anwenden möchtest, musst du templateSuffix auf pre-order setzen.

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

Beispiel 2: Steuerbefreiungsstatus eines Kunden aktualisieren

In diesem Beispiel verwenden wir die Aktion Admin API-Anfrage senden, um die Mutation customerUpdate aufzurufen und den Steuerbefreiungsstatus eines Kunden aktualisieren.

Das Feld id ist erforderlich und muss eine gültige Kunden-GID sein. Hier richten wir das Feld mit der Liquid-Variable {{order.customer.id}} ein. Dabei wird vorausgesetzt, dass dein Workflow einen Trigger verwendet, der ein Bestellobjekt bereitstellt.

taxExempt ist ein boolescher Wert, der angibt, ob der Kunde steuerbefreit ist. In diesem Beispiel setzen wir den Wert auf true.

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

Beispiel 3: Gebietsschema eines Kunden aktualisieren

In diesem Beispiel verwenden wir die Aktion Admin API-Anfrage senden, um die Mutation customerUpdate aufzurufen und das Gebietsschema eines Kunden zu aktualisieren.

Das Feld id ist erforderlich und muss eine gültige Kunden-GID sein. Hier richten wir das Feld mit der Liquid-Variable {{customer.id}} ein. Dabei wird vorausgesetzt, dass dein Workflow einen Trigger verwendet, der ein Kundenobjekt bereitstellt.

Das Feld locale ist eine Zeichenfolge, die das Gebietsschema des Kunden darstellt. In diesem Beispiel setzen wir den Wert auf en.

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

Liquid-Tipps

Flow unterstützt einen json-Liquid-Filter, der beim Konstruieren der Eingabe nützlich sein kann. Die folgenden Beispiele nutzen alle die customerUpdate-Mutation und gehen davon aus, dass dein Workflow über einen Trigger verfügt, der ein Kundenobjekt bereitstellt.

Mit Strings arbeiten

Im folgenden Beispiel wird der Hinweis zu einem Kunden aktualisiert:

{% assign revisedNote = customer.note | append: " Hello from Flow!" %}

{
  "input": {
    "id": "{{ customer.id }}",
    "note": {{ revisedNote | json }},
  }
}

Der json-Filter entschlüsselt den String, um eine korrekte JSON zu gewährleisten. Dies führt zu folgender JSON, nachdem der Workflow ausgeführt wird:

{
  "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 wurde:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ tags | json }}
  }
}

Dies führt zu folgender JSON, nachdem der Workflow ausgeführt wird:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["tag1","tag2","tag3"]
  }
}

Beispiel für eine For-Schleife

Das folgende Beispiel verwendet eine Schleife, um die Elemente eines Arrays, getrennt durch Kommas, 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 folgender JSON, wenn der Workflow ausgeführt wird:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]
  }
}

Kartenbeispiel

Der Filter Karte kann verwendet werden, um ein Array mit 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 folgender JSON, nachdem der Workflow ausgeführt wird:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["Ottawa","Toronto"]
  }
}

Einschränkungen

Die Aktion Admin API-Anfrage senden hat folgende Einschränkungen:

  • Die Aktion unterstützt keine GraphQL-Abfragen, sondern nur Mutationen.
  • Die Aktion unterstützt keine asynchronen Mutationen oder Mutationen, die den Typ Job zurückgeben.
  • Die Aktion unterstützt keine Mutationen, die für bestimmte Apps spezifisch sind, wie z. B. Abonnement- und Rabattmutationen.
  • Die Aktion zeigt eine Liste der Mutations und Mutation inputs aus einer einzelnen Shopify-API-Version an. Dabei handelt es sich derzeit um Version2024-01.
  • Wenn die API-Version aktualisiert wird und eine wichtige Änderung enthält, kann dies zu einem Fehler bei der Aktion führen, sofern du auf dieses Feld angewiesen bist.
Du hast die gesuchten Antworten nicht gefunden? Wir helfen dir gerne weiter.