Wyślij żądanie Admin API

Akcja Wyślij żądanie Admin API może używać większości mutacji w GraphQL Admin API do wprowadzania zmian w sklepie, w tym mutacji, które nie są jeszcze dostępne jako akcje w aplikacji Flow.

Pola

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

Pola używane w akcji Wyślij żądanie Admin API.
PoleOpis
MutacjaWymagane. Mutacja Shopify GraphQL Admin, którą chcesz wywołać. Mutacja to interfejs API, który podejmuje działanie lub aktualizuje dane.
Dane wejściowe mutacjiWymagane. Dane (w formacie JSON), które musisz wysłać w ramach żądania mutacji. Każda mutacja wymaga innego zestawu danych, który jest udokumentowany w linku podanym dla każdej mutacji. Do skonstruowania wymaganego pliku JSON możesz użyć języka Liquid lub akcji Uruchom kod.

Wyzwalacze

Akcji Wyślij żądanie Admin API można używać w dowolnym workflow z dowolnym wyzwalaczem, o ile workflow dostarcza dane niezbędne do skonstruowania danych wejściowych mutacji.

Przykłady

Przykład 1: Aktualizacja szablonu używanego dla produktu

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

Pole id jest wymagane i musi być prawidłowym identyfikatorem GID produktu. W tym przypadku 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, ustawisz templateSuffix na pre-order.

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

Przykład 2: Aktualizacja statusu zwolnienia klienta z podatku

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

Pole id jest wymagane i musi być prawidłowym identyfikatorem GID klienta. W tym przypadku 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ą (boolean), która wskazuje, czy klient jest zwolniony z podatku. W tym przykładzie ustawiamy ją na true.

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

Przykład 3: Aktualizacja ustawień regionalnych klienta

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

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

Pole locale to ciąg znaków, który reprezentuje ustawienia regionalne klienta. W tym przykładzie ustawiamy go na en.

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

Wskazówki dotyczące Liquid

Aplikacja Flow obsługuje filtr Liquid json, który może być przydatny przy konstruowaniu danych wejściowych. Wszystkie poniższe przykłady używają mutacji customerUpdate i zakładają, że workflow ma wyzwalacz, który dostarcza obiekt klienta.

Praca z ciągami znaków

Poniższy przykład aktualizuje notatkę dotyczącą klienta:

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

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

Filtr json dokonuje zmiany znaczenia ciągu znaków, aby zapewnić prawidłowy format JSON. Po uruchomieniu workflow daje to następujący wynik w formacie JSON:

{
  "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. Poniższy przykład generuje tablicę JSON, gdy na wejściu podana jest tablica Liquid:

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

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

Po uruchomieniu workflow daje to następujący wynik w formacie JSON:

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

Przykład pętli For

Poniższy przykład wykorzystuje pętlę do wygenerowania 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 %}
    ]
  }
}

Po uruchomieniu workflow daje to następujący wynik w formacie JSON:

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

Przykład mapowania

Filtr map może być użyty do uzyskania tablicy określonej właściwości z tablicy obiektów. W poniższym przykładzie z tablicy adresów klientów wyodrębniana jest tablica właściwości city:

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

Po uruchomieniu workflow daje to następujący wynik w formacie JSON:

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

Ograniczenia

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

  • Akcja wyświetli listę Mutations (Mutacje) i Mutation inputs (Dane wejściowe mutacji) z wersji Admin API używanej przez aplikację Flow.
  • Gdy zostaną wydane nowe wersje API, ta akcja może zakończyć się niepowodzeniem, jeśli używa mutacji lub pola, które zostało zmienione lub wycofane.
  • Akcja nie obsługuje zapytań GraphQL, a jedynie mutacje.
  • Akcja nie obsługuje mutacji, które zostały wycofane.
  • Akcja nie obsługuje niektórych mutacji specyficznych dla określonych aplikacji, w tym niektórych mutacji dotyczących subskrypcji, aktywności marketingowych i rabatów.
  • Akcja nie obsługuje mutacji asynchronicznych ani mutacji, które zwracają typ Job.
  • Akcja nie obsługuje mutacji, które nie implementują interfejsu Node.

Szablony

Dodaj darmową pozycję (z rabatem 100%) do nowych zamówień

Ten szablon dodaje darmową, objętą rabatem pozycję do nowych zamówień, jeśli pozycja jest w magazynie. Sprawdza on zapasy, stosuje rabat 100% i aktualizuje zamówienie bez powiadamiania klienta. Taka automatyzacja byłaby przydatna do: (1) zwiększenia satysfakcji klienta poprzez dodanie darmowej pozycji-niespodzianki do jego zamówienia, (2) promowania nowych lub mniej znanych produktów poprzez dodawanie ich jako darmowych próbek do zamówień lub (3) usprawnienia promocji poprzez automatyzację dodawania darmowych pozycji i obejmowania ich rabatem. Wyświetl szablon

Zezwól na składanie zamówień przez firmy utworzone na podstawie żądań o założenie konta firmowego

Przypisz uprawnienie do zamawiania po utworzeniu firmy w wyniku żądania o konto firmowe. Wyświetl szablon

Zmień szablon produktu, gdy warianty są wyprzedane lub ponownie dostępne w magazynie.

Uaktualnij szablon produktu w oparciu o zapasy wariantów produktu. Workflow pozwala przełączać się między szablonami dla produktów w magazynie (domyślny szablon sklepu), z wyczerpanym zapasem oraz gdy zapas jednego lub więcej wariantów jest wyczerpany. Wyświetl szablon

Realizuj wszelkie pozycje cyfrowe w zamówieniu.

Realizuje pozycje, które nie wymagają dostawy fizycznej, np. pozycje cyfrowe, lub które pasują do listy jednostek SKU. Uruchamia się raz dla każdej lokalizacji realizacji („zamówienie do realizacji”) w przypadku nowego zamówienia. Wyświetl szablon