Omówienie warunków w Shopify Flow

Warunek to krok w workflow, w którym na podstawie tego, czy został spełniony zestaw kryteriów, podejmowana jest decyzja o dalszym postępowaniu. Każdy krok warunku ma 2 możliwości: Prawda, gdy kryteria zostały spełnione, i Fałsz, gdy kryteria nie zostały spełnione. Jeśli nie zdefiniujesz następnego kroku dla żadnej z możliwości, wybierając inny warunek lub akcję, przebieg workflow zostanie zatrzymany.

Na przykład, jeśli workflow jest wyzwalany po utworzeniu zamówienia, warunek może sprawdzać, czy w zamówieniu użyto określonego kodu rabatowego AFFILIATE10. Jeśli tak, opcja Prawda może prowadzić do akcji wysłania wiadomości e-mail do partnera afiliacyjnego z informacją o użyciu jego kodu. Jeśli nie, opcja Fałsz może być pusta, co oznacza, że nic więcej się nie dzieje, a przebieg workflow kończy się.

Workflow może mieć dowolną liczbę warunków, w zależności od jego złożoności. Warunki mogą również łączyć się z innymi warunkami lub akcjami, w zależności od tego, co ma robić dany workflow. Warunki można skonfigurować tak, aby łączyły się sekwencyjnie (na przykład, jeśli warunek A jest prawdziwy, sprawdź warunek B; jeśli A jest fałszywy, sprawdź C) lub można je skonfigurować tak, aby występowały jednocześnie w ramach tego samego kroku (na przykład sprawdź, czy A, B lub C jest prawdziwe).

Tworzenie warunków dla workflow

W przeciwieństwie do wyzwalacza lub akcji, które można wybrać ze wstępnie zdefiniowanej listy dostępnych opcji w Shopify Flow, warunki są tworzone od podstaw przez wybranie zmiennych, operatorów logicznych i wartości w celu utworzenia instrukcji warunkowej:

  • Zmienna to symbol zastępczy, który definiuje dane używane przez warunek. Na przykład, jeśli warunek ma sprawdzać określony kod rabatowy w zamówieniu, zmienną będzie order.discountCode. Zmienne używają notacji kropkowej GraphQL Admin API.
  • Operator logiczny wskazuje, w jaki sposób workflow ma określić, czy warunek jest spełniony. Operatory logiczne mogą być stosowane na poziomie zmiennej lub gdy w ramach ogólnych kryteriów warunku uwzględniono wiele zmiennych:
    • Opcje na poziomie zmiennej obejmują operatory na poziomie pola, takie jak Większe niż lub Zaczyna się od, lub operatory list, takie jak Co najmniej jeden z lub Wszystkie z.
    • Opcje na poziomie warunku obejmują AND, co oznacza, że wszystkie zmienne muszą być prawdziwe, aby warunek został uznany za ogólnie prawdziwy, lub OR, co oznacza, że co najmniej 1 zmienna musi być prawdziwa, aby warunek został uznany za ogólnie prawdziwy.
  • Wartość to faktyczna informacja, której szuka zmienna. Na przykład, jeśli określony kod order.discountCode, który ma być sprawdzany przez workflow, to AFFILIATE10, to jest to wartość, którą należy uwzględnić w warunku.

W miarę wybierania zmiennych i operatorów krok warunku na obszarze roboczym Shopify Flow jest uaktualniany, aby odzwierciedlić instrukcję warunkową w prostym języku, dzięki czemu można sprawdzić, czy tworzony warunek jest poprawnie sformatowany. Możesz kliknąć opcję Dodaj opis, aby zastąpić domyślną instrukcję warunkową własnym opisem.

Dowiedz się więcej o elementach warunków w Shopify Flow.

Objaśnienie zmiennych w warunkach

Podczas tworzenia kroku warunku w workflow pierwszym krokiem, do którego wykonania jesteś proszony, jest Dodanie zmiennej. Ale czym jest zmienna?

W Shopify Flow zmienna jest symbolem zastępczym, który wskazuje dane używane przez warunek w workflow. Gdy warunek brzmi: „Jeśli A jest większe niż 10...”, część A jest zmienną. Wybór zmiennej dla warunku zasadniczo polega na wskazaniu warunkowi, które konkretnie dane ma on ocenić.

Zmienne są formatowane za pomocą notacji kropkowej GraphQL Admin API. Nie musisz biegle posługiwać się API, aby tworzyć workflow za pomocą aplikacji Flow, ale podstawowa znajomość nazw zmiennych i ich definicji może pomóc w zbudowaniu konkretnej logiki workflow, której potrzebujesz.

Aby zrozumieć, jakie dane reprezentuje zmienna, zapoznaj się z następującymi informacjami o zmiennych:

Wskazówka: Uzyskaj pomoc na temat zmiennych od asystenta Dev Docs

Jeśli nie masz pewności, którą zmienną wybrać podczas budowania warunku, rozważ poproszenie o radę asystenta Shopify Dev Docs. Asystent Dev Docs ma dostęp do całej dokumentacji dotyczącej GraphQL Admin API i może zaoferować sugestie dotyczące formatowania warunku w Shopify Flow:

  1. Przejdź do Shopify Dev Docs.
  2. Kliknij Zapytaj Asystenta, aby otworzyć panel czatu.
  3. W polu wiadomości wpisz swoje żądanie, na przykład: Which variable should I use in Shopify Flow if I wanted to access the customer tag data when my trigger starts with "Order created"?.
  4. Naciśnij klawisz Enter lub kliknij Wyślij.

Odczytywanie notacji kropkowej zmiennych

Podczas wybierania zmiennych zauważysz, że są one sformatowane jako słowa kluczowe oddzielone kropkami, np. order.customer.tag. Ten format wskazuje kroki, które API wykonuje, aby uzyskać dostęp do danych, których chcesz użyć. Każdy „krok” zmiennej jest oddzielony kropką, a ścieżka do danych jest odczytywana od lewej do prawej. Zmienne mogą mieć różną długość w zależności od tego, gdzie dane są przechowywane w API i od ścieżki, którą proces pokonuje, aby do nich dotrzeć.

Na przykład:

  • order.email: sprawdza adres e-mail powiązany z klientem dla danego zamówienia. Jest to podobne do kliknięcia zamówienia, a następnie sprawdzenia adresu e-mail w szczegółach zamówienia.
  • refunds_item.staffMember.name: sprawdza w zamówieniu zwrot kosztów za pozycję, przechodzi do informacji o pracowniku powiązanych z tym zwrotem kosztów i sprawdza imię i nazwisko tego pracownika.

Wybierając zmienną, zastanów się, w jaki sposób możesz nawigować po panelu administracyjnym Shopify, aby znaleźć potrzebne informacje. Prawdopodobnie API będzie musiało pokonać podobną ścieżkę, co może pomóc w ustaleniu formatu zmiennej.

Na przykład, jeśli przeglądasz nowe zamówienie i chcesz wiedzieć, jaka jest grupa RFM klienta powiązanego z zamówieniem, możesz kliknąć nazwę klienta w zamówieniu, aby przejść na stronę szczegółów klienta w panelu administracyjnym Shopify, a następnie sprawdzić podsumowanie analiz klienta, aby odczytać, jaka wartość jest wyświetlana w kolumnie Grupa RFM.

Zmienna, której należy użyć w Shopify Flow do zwrócenia tych samych danych, ma podobną ścieżkę: order.customer.statistics.rfmGroup.

Wymagania dotyczące danych dla zmiennych

Zmienne wymagają danych. Jeśli odpowiednie dane nie są dostępne dla zmiennej, warunek nie zadziała, a proces zakończy się niepowodzeniem. W zależności od wyzwalacza wybranego jako początek procesu, opcje zmiennych, które można dodać do warunków, zmieniają się, aby odzwierciedlić możliwe opcje na podstawie dostępnych danych.

Na przykład, jeśli proces zaczyna się od wyzwalacza Utworzono produkt, wówczas warunki tworzone na podstawie tego wyzwalacza są ograniczone do zmiennych dostępnych w zbiorze danych produktu. W związku z tym zmienne, takie jak product.category.name, product.vendor i variants_item.displayName, są dostępne do użycia jako część warunku. Natomiast zmienne, takie jak customer.verifiedEmail czy subscriptionContracts_item.status, nie będą wyświetlane jako opcje, ponieważ nie są one powiązane ze zbiorem danych produktu.

Nie oznacza to jednak, że dane zawarte w innych zbiorach danych są całkowicie niedostępne. Do niektórych danych można uzyskać dostęp z wielu ścieżek w API, w taki sam sposób, w jaki można kliknąć różne linki, aby dotrzeć do tej samej strony w panelu administracyjnym Shopify. W praktyce oznacza to, że różne wyzwalacze wymagają różnej notacji zmiennych, aby zwrócić te same informacje.

Na przykład, chcesz, aby proces sprawdzał tagi w profilu klienta. Jeśli proces zaczyna się od wyzwalacza Utworzono zamówienie, zmienna będzie miała postać order.customer.tags, ponieważ proces rozpoczyna się od danych zamówienia, następnie sprawdza informacje o kliencie w zamówieniu, a potem sprawdza tagi tego klienta. Jeśli proces zaczyna się od wyzwalacza Utworzono klienta, zmienna będzie miała po prostu postać customer.tags, ponieważ proces rozpoczyna się od danych klienta, więc może bezpośrednio przejść do sprawdzania tagów w profilu klienta.

Ze względu na styl notacji kropkowej w Shopify Flow wyszukiwanie zmiennych do użycia w warunku na podstawie słów kluczowych może zwrócić wiele wyników. Zrozumienie, co wskazuje ścieżka zmiennej, jest ważne przy określaniu, którą zmienną wybrać podczas tworzenia warunku.

Na przykład proces używa wyzwalacza Utworzono zamówienie i wyszukujesz zmienną za pomocą słowa kluczowego tags. Wyszukiwanie może zwrócić następujące wyniki, które sprawdzają różne informacje w zamówieniu:

  • order.tags: tagi zastosowane do samego zamówienia. Na przykład: #rush order lub #gift.
  • order.customer.tags: tagi zastosowane do klienta, który złożył zamówienie. Na przykład: #VIP lub #affiliate.
  • order.lineItems.product.tags: tagi zastosowane do produktów zakupionych w zamówieniu. Na przykład: #fragile lub #requiresID.

W zależności od tego, jaki typ tagów ma sprawdzać proces, musisz wybrać odpowiednią zmienną, aby warunek działał zgodnie z oczekiwaniami.

Objaśnienie operatorów logicznych w warunkach

Operatory logiczne definiują sposób stosowania warunku i powodują, że instrukcja jest prawdziwa lub fałszywa. Gdy warunek brzmi: „Jeśli A jest większe niż 10...”, część jest większe niż jest operatorem logicznym. Wybierając operator logiczny dla warunku, zasadniczo określasz, w jaki sposób ma on ocenić zmienną.

W procesach Shopify Flow istnieją 3 typy operatorów logicznych:

  • Operatory na poziomie pola, takie jak Większe niż lub Zaczyna się od.
  • Operatory list, takie jak Co najmniej jeden z lub Wszystkie z.
  • Operatory na poziomie warunku, takie jak AND lub OR.

Operatory na poziomie pola i operatory list mają zastosowanie na poziomie zmiennej, a operatory na poziomie warunku mają zastosowanie do całego warunku i mogą być używane do łączenia wielu zmiennych w jeden warunek.

Operatory na poziomie pola są najczęstszymi typami operatorów, używanymi w każdym typie instrukcji zmiennej. Za pomocą operatorów na poziomie pola można tworzyć instrukcje warunkowe, takie jak „Jeśli A jest większe niż 10, wykonaj X” lub „Jeśli B zawiera 'VIP', wykonaj X”, aby mieć większą kontrolę nad tym, które wartości zmiennej zwracają wynik prawdziwy. Domyślnym operatorem logicznym jest Równe.

Operatory listy można stosować tylko do zmiennych, które mogą zwracać listę wyników. Na przykład zmienna lineItems_item.variant.price zwraca cenę wariantu produktu w zamówieniu i może zwrócić listę wyników, gdy klient kupił wiele produktów w tym samym zamówieniu. Oznacza to, że możesz zastosować operator listy, taki jak Co najmniej jeden z, jeśli chcesz, aby instrukcja warunkowa typu „lineItems_item.variant.price ma wartość większą niż 10 $” była prawdziwa, gdy w zamówieniu jest co najmniej 1 wariant produktu, który kosztuje ponad 10 $. Z kolei operatory listy nie są wyświetlane dla zmiennych, które mogą zwracać tylko 1 wynik naraz. Na przykład dla zmiennej, takiej jak order.createdAt, istnieje tylko 1 możliwa wartość, ponieważ zamówienie można utworzyć tylko raz, więc operatory listy nie są wyświetlane jako opcje modyfikacji instrukcji zawierającej tę zmienną.

Operatory warunkowe, takie jak AND i OR, pozwalają uwzględnić wiele zmiennych w jednym warunku. Na przykład zamiast prostej instrukcji warunkowej, takiej jak „Jeśli A równa się 5, to wykonaj X”, możesz tworzyć bardziej złożone warunki, takie jak „Jeśli A równa się 5 i B jest większe niż 10, to wykonaj X”, który wymaga, aby obie zmienne A i B, były prawdziwe, lub „Jeśli A równa się 5 lub B jest większe niż 10 lub C jest mniejsze niż 1, to wykonaj X”, który wymaga, aby tylko jedna ze zmiennych A, B lub C była prawdziwa. Użyj operatora AND, gdy wszystko w workflow musi być prawdziwe; użyj operatora OR, gdy spełnienie dowolnego kryterium wystarczy, aby warunek był prawdziwy.

Dlaczego to ważne: Zrozumienie, jak działają operatory logiczne w warunkach, pozwala tworzyć workflow, które sprawdzają dokładnie określone przez Ciebie kryteria. Za pomocą 3 rodzajów operatorów logicznych możesz tworzyć szczegółowe i złożone instrukcje warunkowe, aby budować workflow weryfikujące bardzo konkretne warunki.

Dowiedz się więcej na temat operatorów logicznych w warunkach.