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.
| Pole | Opis |
|---|---|
| Mutacja | Wymagane. Mutacja Shopify GraphQL Admin, którą chcesz wywołać. Mutacja to interfejs API, który podejmuje działanie lub aktualizuje dane. |
| Dane wejściowe mutacji | Wymagane. 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) iMutation 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