Wyślij żądanie API Admin

Czynność Wyślij żądanie API Admin powoduje wysłanie mutacji do API Shopify GraphQL Admin. W ten sposób możesz wykonać prawie wszystkie czynności, na które zezwala API za pomocą Flow.

Pola

Czynność Wyślij żądanie API Admin zawiera następujące pola.

Pola używane w czynności Wyślij żądanie API Admin.
Pole Opis
Mutacja Wymagane. Mutacja Shopify GraphQL Admin, którą chcesz wywołać. Mutacja to interfejs API, który wykonuje działanie lub aktualizuje dane.
Dane wejściowe mutacji Wymagane. Dane (w JSON), które musisz wysłać w ramach żądania mutacji. Każda mutacja wymaga innego zestawu danych, który jest udokumentowany w linku dostarczonym dla każdej mutacji. Aby utworzyć niezbędne pliki JSON, możesz użyć Liquid lub czynności Wykonaj kod.

Wyzwalacze

Czynność Wyślij żądanie API Admin może być używana w każdym workflow z dowolnym wyzwalaczem, o ile workflow zapewnia dane niezbędne do utworzenia danych wejściowych mutacji.

Przykłady

Przykład 1: Zaktualizuj szablon używany dla produktu

W tym przykładzie użyjemy czynności Wyślij żądanie API Admin, aby wywołać mutację productUpdate w celu aktualizacji szablonu używanego dla produktu.

Pole id jest wymagane i musi być prawidłowym GID produktu. Tutaj ustawiamy je za pomocą zmiennej Liquid {{product.id}}. Zakłada to, że workflow ma wyzwalacz, który dostarcza obiekt produktu.

templateSuffix to nazwa szablonu, który chcesz zastosować do produktu. Na przykład, jeśli chcesz zastosować szablon pre-order, ustaw templateSuffix na pre-order.

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

Przykład 2: Zaktualizuj status zwolnienia podatkowego klienta

W tym przykładzie użyjemy czynności Wyślij żądanie API Admin, aby wywołać mutację customerUpdate w celu aktualizacji statusu zwolnienia podatkowego klienta.

Pole id jest wymagane i musi być prawidłowym GID klienta. Tutaj ustawiamy je za pomocą zmiennej Liquid {{order.customer.id}}. Zakłada to, że workflow ma wyzwalacz, który dostarcza obiekt zamówienia.

Pole taxExempt jest wartością logiczną, która wskazuje, czy klient jest zwolniony z podatku. W tym przykładzie ustawiamy je na true.

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

Przykład 3: Zaktualizuj ustawienia regionalne klienta

W tym przykładzie użyjemy czynności Wyślij żądanie API Admin, aby wywołać mutację customerUpdate w celu aktualizacji ustawień regionalnych klienta.

Pole id jest wymagane i musi być prawidłowym GID klienta. Tutaj ustawiamy je za pomocą zmiennej Liquid {{customer.id}}. Zakłada to, że workflow ma wyzwalacz, który dostarcza obiekt klienta.

Pole locale jest ciągiem znaków reprezentującym ustawienia regionalne klienta. W tym przykładzie ustawiamy je na en.

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

Wskazówki dotyczące Liquid

Flow obsługuje filtr liquid json, który może być przydatny przy tworzeniu danych wejściowych. Wszystkie poniższe przykłady używają mutacji customerUpdate i zakłada się, że Twój workflow ma wyzwalacz, który dostarcza obiekt klienta.

Praca z ciągami znaków

W poniższym przykładzie aktualizowana jest uwaga dotycząca klienta:

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

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

Filtr json dekoduje ciąg znaków, aby zapewnić poprawność JSON. Wynikiem tego jest następujący JSON po uruchomieniu workflow:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "note": "Had a \"great experience\" with their latest order. Hello from Flow!",
  }
}

Praca z tablicami

Przykład tablicy

Filtr json przekształca tablicę liquid w tablicę JSON. W poniższym przykładzie wyświetlana jest tablica JSON po podaniu tablicy liquid:

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

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

Wynikiem tego jest następujący JSON po uruchomieniu workflow:

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

Przykład pętli For

W poniższym przykładzie wykorzystana jest pętla do wyprowadzania elementów tablicy oddzielonych przecinkami:

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

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": [
      {% for tag in tags %}
        "{{ tag }}"{% unless forloop.last %},{% endunless %}
      {% endfor %}
    ]
  }
}

Wynikiem tego jest następujący JSON po uruchomieniu workflow:

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

Przykład mapy

Filtr mapa może służyć do uzyskania tablicy określonej właściwości z tablicy obiektów. W poniższym przykładzie tablica właściwości city została wyodrębniona z tablicy adresów klientów:

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

Wynikiem tego jest następujący JSON po uruchomieniu workflow:

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

Ograniczenia

Czynność Wyślij żądanie API Admin ma następujące ograniczenia:

  • Czynność nie zwraca danych do środowiska Flow w wyniku mutacji.
  • Czynność nie obsługuje zapytań GraphQL, tylko mutacje.
  • Czynność nie obsługuje mutacji asynchronicznych ani mutacji zwracających typ Job.
  • Czynność nie obsługuje mutacji specyficznych dla niektórych aplikacji, które obejmują subskrypcje i mutacje rabatowe.
  • Czynność spowoduje wyświetlenie listy Mutations i Mutation inputs z jednej wersji API Shopify. Jest to obecnie 2024-01.
  • Jeśli zaktualizowana wersja API zawiera istotną zmianę, może to spowodować niepowodzenie tej czynności, gdy użyjesz tego pola.

Gotowy(-a) do rozpoczęcia sprzedaży za pomocą Shopify?

Wypróbuj za darmo