Rozwiązywanie problemów z błędami w aplikacji Shopify Flow
Aplikacja Shopify Flow pomaga zautomatyzować zadania i procesy w Twoim sklepie, ale podczas tworzenia lub edytowania workflow możesz napotkać błędy lub osiągnąć określone limity. Na tej stronie wyjaśniono typowe problemy, z którymi możesz się spotkać, takie jak limity workflow i błędy danych, oraz przedstawiono wskazówki dotyczące ich rozwiązywania. Zrozumienie tych błędów może pomóc w rozwiązywaniu problemów i zapewnić płynne działanie workflow.
Na tej stronie
Błędy podczas tworzenia przepływów pracy
Podczas tworzenia przepływu pracy możesz napotkać błędy uniemożliwiające jego dodanie. Poniżej wymieniono niektóre z błędów, które mogą wystąpić:
Przekroczono liczbę przepływów pracy
Podczas tworzenia nowego przepływu pracy może pojawić się błąd o treści: Osiągnięto maksymalny dozwolony limit 1000 przepływów pracy. Aby kontynuować, usuń nieużywane przepływy pracy i spróbuj ponownie.
Aplikacja Flow ogranicza do 1000 liczbę przepływów pracy, które może mieć sklep. Obejmuje to aktywne i nieaktywne przepływy pracy. Jeśli osiągniesz ten limit i zechcesz utworzyć nowy przepływ pracy, usuń nieużywane lub nieaktywne przepływy pracy.
Jeśli Twój sklep miał ponad 1000 przepływów pracy przed ustawieniem tego limitu, może on nadal działać z ponad 1000 przepływów pracy. Jednak aby móc tworzyć nowe przepływy pracy, ich liczba musi być niższa od limitu.
Ten błąd może wystąpić podczas wykonywania wielu czynności w aplikacji Flow:
- Tworzenie nowego przepływu pracy
- Powielanie przepływu pracy
- Importowanie przepływu pracy
- Instalowanie szablonu
Zbyt wiele przepływów pracy dla tego samego wyzwalacza
Podczas aktywacji przepływu pracy może pojawić się ostrzeżenie, że w sklepie jest ponad 10 aktywnych przepływów pracy korzystających z tego samego wyzwalacza.
Wiele przepływów pracy ze wspólnym wyzwalaczem może powodować problemy z wydajnością, ponieważ za każdym razem, gdy wystąpi zdarzenie wyzwalacza, aplikacja Flow musi przetworzyć wszystkie powiązane przepływy pracy. Takie rozproszenie może prowadzić do wydłużenia czasu wykonywania i większego zużycia zasobów.
Aby zmniejszyć liczbę przepływów pracy przypisanych do jednego wyzwalacza, rozważ następujące rozwiązania:
- Połącz przepływy pracy korzystające z tego samego wyzwalacza w jeden przepływ pracy z wieloma gałęziami i warunkami.
- Dezaktywuj lub usuń przepływy pracy, które nie są już potrzebne.
- Sprawdź, czy w niektórych przepływach pracy nie można by użyć bardziej szczegółowego wyzwalacza.
Błędy podczas edytowania przepływów pracy
Podczas edytowania przepływu pracy mogą wystąpić błędy uniemożliwiające jego zapisanie. Poniżej przedstawiono typowe błędy, które mogą wystąpić podczas edytowania przepływu pracy:
Nie znaleziono danych
Podczas dodawania nowej akcji do przepływu pracy może pojawić się błąd o treści Nie znaleziono danych:

Ten błąd występuje, ponieważ wiele akcji, w tym Dodaj tagi produktu, wymaga zasobu platformy Shopify, takiego jak produkt. Jeśli ten zasób jest niedostępny, akcja nie może zostać uruchomiona. Często przepływy pracy mogą zawierać dane podobne do wymaganych, ale w rzeczywistości nie dostarczają tego, co jest potrzebne.
W poniższych sekcjach opisano typowe scenariusze, które mogą powodować ten błąd, oraz sposoby ich rozwiązania.
Problem 1: Akcja Pobierz dane zwróciła listę, gdy wymagana była pojedyncza pozycja
Często przepływ pracy dostarcza listę zasobów platformy Shopify, ale akcja zezwala tylko na jeden zasób. Na przykład przepływ pracy dostarcza listę produktów za pośrednictwem akcji Pobierz dane produktu, ale akcja Dodaj tagi produktu wymaga pojedynczego produktu.
Aby rozwiązać ten błąd, możesz dodać akcję Dla każdego w celu iteracji po liście i wywołania akcji dla każdej pozycji na liście. Poniższy przykład ilustruje zarówno błąd, jak i rozwiązanie z użyciem akcji Dla każdego:

Problem 2: Wyzwalacz dostarczył listę, gdy wymagana była pojedyncza pozycja
Podobny błąd może wystąpić, gdy akcja wymaga pojedynczego zasobu, ale wyzwalacz dostarcza listę. Na przykład akcja Oznacz zlecenie realizacji jako zrealizowane wymaga zlecenia realizacji, ale wyzwalacz pochodzi z zamówienia, które dostarcza listę zleceń realizacji.
Aby rozwiązać ten błąd, podobnie jak w przypadku Problemu 1, możesz dodać akcję Dla każdego w celu iteracji po liście i wywołania akcji dla każdej pozycji na liście:

Alternatywnie, możesz użyć innego wyzwalacza, który udostępnia wymagany zasób. Na przykład, zamiast używać wyzwalacza Utworzono zamówienie, możesz użyć wyzwalacza Zlecenie realizacji gotowe do realizacji, który udostępnia pojedyncze zlecenie realizacji.

Problem 3: Wyzwalacz „Zaplanowany czas” nie dostarczył żadnych danych
Wyzwalacz Zaplanowany czas nie dostarcza danych zasobów platformy Shopify. Jeśli spróbujesz połączyć z wyzwalaczem akcje, które wymagają zasobów platformy Shopify, napotkasz błąd.
Aby rozwiązać ten błąd, dodaj akcję, taką jak Pobierz dane produktu, która dostarcza wymagane dane. Jak wspomniano w Problemie 1, musisz również dodać akcję Dla każdego w celu iteracji po każdej liście zwróconej przez akcję pobierającą dane.

Problem 4: Wyzwalacz aplikacji nie dostarczył żadnych danych
Podobnie jak w problemie 3, niektóre wyzwalacze utworzone przez aplikacje nie dostarczają wymaganych danych zasobów platformy Shopify. Na przykład wyzwalacz „Utworzono recenzję” może dostarczyć adres e-mail, ale nie obiekt Klient, który jest potrzebny w wielu akcjach, takich jak Dodaj tagi klienta.
Aby rozwiązać ten błąd, możesz użyć akcji „Pobierz dane”, aby pobrać potrzebny zasób platformy Shopify. Na przykład, możesz użyć akcji Pobierz dane klienta, aby uzyskać obiekt klienta na podstawie adresu e-mail podanego przez wyzwalacz. Podobnie jak w przypadku innych problemów, musisz również dodać akcję Dla każdego w celu iteracji po każdej liście zwróconej przez akcję pobierającą dane.
Jeśli użycie akcji „Pobierz dane” nie jest możliwe, może być konieczne skontaktowanie się z programistą aplikacji i poproszenie go o zmodyfikowanie wyzwalacza w celu dostarczenia wymaganych danych.
Przekroczono liczbę kroków oczekiwania
Podczas dodawania nowych kroków oczekiwania do przepływu pracy może pojawić się błąd o treści: Przepływy pracy muszą mieć 40 lub mniej kroków oczekiwania.
Aplikacja Flow ogranicza liczbę dozwolonych kroków oczekiwania w przepływie pracy do 40. Jeśli napotkasz ten błąd, oznacza to, że limit został przekroczony. Aby rozwiązać problem, usuń kroki oczekiwania w innym miejscu przepływu pracy.
Jeśli Twoje przepływy pracy, utworzone przed wprowadzeniem tego limitu, zawierały już ponad 40 kroków oczekiwania, będą one nadal działać zgodnie z oczekiwaniami. Jednak, aby dodać dodatkowe kroki oczekiwania, musisz najpierw usunąć istniejące, aby nie przekroczyć limitu.
Ponadto łączny czas oczekiwania we wszystkich krokach oczekiwania nie może przekroczyć 90 dni.
Przekroczono limit rozmiaru wartości pola konfiguracyjnego
Podczas edytowania wartości pól konfiguracyjnych w warunkach w przepływie pracy może pojawić się błąd o treści: Wartość pola konfiguracyjnego musi być mniejsza niż 50 kB.
Aplikacja Flow ogranicza rozmiar wartości pola konfiguracyjnego do 50 kB danych. Gdy napotkasz ten błąd, oznacza to, że osiągnięto lub przekroczono limit. Aby rozwiązać problem, skróć dane, które dodajesz do tego pola.
Jeśli masz już pola konfiguracyjne o wartości 50 kB lub większej, Twoje przepływy pracy będą nadal działać zgodnie z oczekiwaniami. Jednak aby wprowadzić zmiany w przepływie pracy, musisz poprawić wartość powodującą błąd.
Błędy występujące podczas działania przepływu pracy
Gdy w przebiegu workflow wystąpi błąd, przebieg jest oznaczany jako zakończony niepowodzeniem. Komunikat o błędzie jest wyświetlany w szczegółach przebiegu workflow. Poniżej przedstawiono typowe błędy, które mogą wystąpić, gdy przebieg workflow zakończy się niepowodzeniem:
- Błędy przejściowe to tymczasowe błędy, które występują, gdy aplikacja Flow nie może wykonać zadania. W przypadku tych błędów ponawiana jest próba wykonania zadania do momentu, aż zakończy się ono powodzeniem lub zostanie osiągnięty limit czasu.
- Błędy trwałe to błędy, które występują, gdy aplikacja Flow nie może wykonać zadania i nie można ponowić próby jego wykonania.
Błędy przejściowe
Błędy przejściowe to tymczasowe błędy, które występują, gdy aplikacja Flow nie może wykonać zadania. W przypadku tych błędów ponawiana jest próba wykonania zadania do momentu, aż zakończy się ono powodzeniem lub zostanie osiągnięty limit czasu. Na przykład, jeśli aplikacja Flow nie może skontaktować się z partnerem podczas wykonywania czynności konektora, ponawia ona próbę wykonania zadania wiele razy, zanim zrezygnuje.
Ponowne próby są rozłożone w czasie, a opóźnienie między każdą kolejną próbą jest większe od poprzedniego. Zazwyczaj, gdy w workflow występują błędy przejściowe, pozostaje on w stanie uruchomiony przez długi czas, ponieważ ponawia próby wykonania zadań.
Gdy ponowna próba wykonania zadania zakończy się powodzeniem, workflow jest kontynuowany. Jeśli w ponawianym zadaniu wystąpi błąd trwały, workflow zakończy się niepowodzeniem. Każda sekcja workflow ma łączny górny limit czasu wykonania wynoszący 36 godzin. Jeśli krok z błędami przejściowymi nie zakończy się powodzeniem przed osiągnięciem tego limitu, workflow zakończy się niepowodzeniem.
Workflow z krokami oczekiwania są podzielone na sekcje, co wpływa na sposób obliczania limitów czasu w workflow. Każda sekcja to grupa zadań wykonywanych razem i każda ma własny 36-godzinny limit czasu. Na przykład, jeśli workflow ma krok oczekiwania, który trwa jedną godzinę, zadania przed tym krokiem zostaną wykonane razem w jednej sekcji, a zadania po nim — w drugiej. Jeśli workflow ma wiele kroków oczekiwania, zadania między każdym z nich będą wykonywane razem w jednej sekcji. Workflow bez kroku oczekiwania są traktowane jak jedna sekcja.
Sporadyczne błędy przejściowe są częstym zjawiskiem. Jeśli jednak w Twoim workflow stale występuje ten sam błąd przejściowy w wielu przebiegach, może być konieczna jego ponowna konfiguracja.
Przekroczono limit czasu kroku
Błędy Przekroczono limit czasu kroku zwykle występują, gdy zadanie w workflow próbuje odpytać o zbyt dużą ilość danych w ramach jednej sekcji. Błąd ten często pojawia się w workflow, które przechodzą przez listy w pętli, zwłaszcza przez listy zagnieżdżone, które są zbyt duże, by można je było szybko przetworzyć.
Gdy wystąpi ten błąd, wyzwalacz lub krok oczekiwania jest wyświetlany jako ponawianie próby.
Aby rozwiązać ten problem, sprawdź warunki, które uzyskują dostęp do list i list zagnieżdżonych, aby potwierdzić, że są prawidłowo skonfigurowane. Częstym problemem jest warunek, który sprawdza wszystkie produkty w sklepie, zamiast tylko produktów w zamówieniu.
Status 5XX
Większość czynności aplikacji Flow wiąże się z wykonywaniem wywołań HTTP. Czasami problemy z siecią lub inne problemy z serwerem mogą spowodować niepowodzenie wywołań HTTP i zwrócenie kodu błędu z przedziału 500–599. Jednorazowe wystąpienie tego błędu nie stanowi problemu, ale powtarzające się przypadki mogą wskazywać na problem z serwerem obsługującym zadanie, a nie ze sposobem skonfigurowania kroku.
Ten typ błędu jest najczęściej wyświetlany w przypadku czynności Wyślij żądanie HTTP, ale może wystąpić w przypadku większości zadań.
Spowolnienie GraphQL
Całkowita ilość pracy wykonywanej przez workflow jest ograniczona limitami wywołań API, które są częściowo określane przez Twój plan. Zazwyczaj limity te nie są osiągane, chyba że workflow jest bardzo złożony lub zawiera niezamierzony błąd projektowy.
Poniższe przykłady opisują sytuacje, które mogą prowadzić do tego błędu:
- Kod Liquid lub warunki w workflow przechodzą w pętli przez listę z dużą ilością danych, np. sprawdzając wartości metapól zawierające kod HTML.
- Kod Liquid lub warunki w workflow przechodzą w pętli przez dużą listę, np. przechodząc w pętli przez listę
shop.ordersw dużym sklepie. - Workflow powoduje nieskończoną pętlę, w której workflow ciągle tworzy nowe przebiegi. Może się tak zdarzyć na przykład, jeśli workflow używa wyzwalacza Dodano tagi klienta i zawiera czynność Dodaj tagi klienta.
Po osiągnięciu limitu otrzymasz błąd Spowolnienie GraphQL. Błąd ten może wpłynąć na inne workflow podczas próby ich uruchomienia, dlatego należy go natychmiast rozwiązać.
Błędy trwałe
Błędy trwałe to błędy, które występują, gdy aplikacja Flow nie może wykonać zadania i nie można ponowić próby jego wykonania. Na przykład, jeśli aplikacja Flow nie może wysłać wiadomości e-mail, ponieważ adres e-mail jest nieprawidłowy, nie ponawia ona próby wykonania zadania. Zamiast tego workflow kończy się niepowodzeniem.
Pola: identyfikatory są wymagane, ale są puste
Czynności Shopify wymagają do uruchomienia jednego lub więcej zasobów, takich jak produkt, klient lub zamówienie. Jeśli niezbędny zasób jest niedostępny, czynność nie może zostać wykonana zgodnie z przeznaczeniem. Na przykład w panelu administracyjnym Shopify można utworzyć zamówienie bez klienta. Jeśli uruchomisz czynność, taką jak Dodaj tagi klienta, zakończy się ona niepowodzeniem z tym błędem.
Aby zapobiec temu błędowi, dodaj warunek przed czynnością w celu sprawdzenia, czy zasób istnieje. W poprzednim przykładzie, jeśli chcesz wysłać wewnętrzną wiadomość e-mail w tym samym workflow co czynność Dodaj tagi klienta, możesz umieścić czynność wysłania e-maila przed krokiem, który może zakończyć się niepowodzeniem, lub skorzystać z jednego z następujących podejść:
Umieść czynności w równoległych gałęziach (w których z jednego kroku wychodzą co najmniej 2 gałęzie):

Dodaj warunek przed czynnością, aby sprawdzić, czy klient jest obecny. Możesz na przykład sprawdzić, czy wartość zamówienie / klient / id nie jest pusta i istnieje.

Aplikacja Flow nie ma uprawnień dostępu do Twojego konta Arkusze Google. Połącz ponownie swoje konto.
Konektor Arkusze Google wymaga połączenia konta Google z aplikacją Flow w celu uzyskania uprawnień do zapisu w arkuszu. Ten błąd może wystąpić, gdy aplikacja Flow nie ma uprawnień do zapisu w arkuszu, ponieważ konto zostało od niej odłączone lub nie ma dostępu do tego arkusza.
Aby rozwiązać ten problem, upewnij się, że konto używane dla konektora może otwierać arkusz i ma uprawnienia do edycji. Jeśli połączono niewłaściwe konto, możesz je odłączyć i połączyć nowe.
Kroki:
- Otwórz istniejący workflow lub utwórz nowy.
- Dodaj czynność do workflow.
- Wybierz konektor Arkusze Google.
- Kliknij opcję Odłącz, a następnie Połącz, aby ponownie połączyć prawidłowe konto Google.
Otrzymano czynność Flow z nieprawidłowymi właściwościami. Klient nie wyraża zgody na działania marketingowe.
Czynność Wyślij marketingową wiadomość e-mail nie wysyła wiadomości e-mail do klientów, którzy nie wyrazili zgody na ich otrzymywanie, i kończy się trwałym niepowodzeniem, jeśli workflow podejmie taką próbę.
Aby rozwiązać ten problem, dodaj w workflow warunek sprawdzający status subskrypcji klientów. Możesz upewnić się, że klienci wyrazili zgodę na otrzymywanie marketingowych wiadomości e-mail przed ich wysłaniem. Wykonaj kroki opisane w sekcji Zarządzanie listą subskrybentów wiadomości e-mail.
Brak zasobu dla [typ zasobu]
Ten błąd wskazuje, że zasób, taki jak klient lub zamówienie, został usunięty, zanim workflow zdołał pobrać jego dane. Najczęściej dzieje się to po kroku oczekiwania, ale może się to również zdarzyć na poziomie wyzwalacza, jeśli zasób zostanie usunięty bardzo szybko po wystąpieniu zdarzenia wyzwalającego.
Otrzymuj powiadomienia o wystąpieniu błędu
Jeśli błędy wpływają na działanie sklepu, możesz skonfigurować powiadomienia o ich wystąpieniu. Powiadomienia o błędach można tworzyć jako workflow za pomocą wyzwalacza Wystąpił błąd workflow. Powiadomienia o błędach mają na celu ograniczenie liczby komunikatów, więc otrzymasz tylko jedno powiadomienie na wersję workflow.
Aby rozpocząć, możesz użyć jednego z następujących szablonów:
- Otrzymaj alert Shopify po wykryciu błędów przebiegu workflow
- Otrzymaj powiadomienie e-mail po wykryciu błędów przebiegu workflow
- Otrzymaj powiadomienie w aplikacji Slack po wykryciu błędów przebiegu workflow
Ponawianie przebiegów
W niektórych przypadkach przebieg workflow może napotkać błąd lub nie zadziałać zgodnie z przeznaczeniem. Po rozwiązaniu problemów i naprawieniu błędów w powiązanym workflow poprzednie przebiegi można ponowić ręcznie, aby wstecznie naprawić ich wynik. Dowiedz się więcej o ponawianiu przebiegów workflow.
Wykonywanie (ograniczona szybkość)
W niektórych przypadkach jeden lub kilka workflow może zużywać zbyt wiele zasobów. Aby zapobiec powodowaniu problemów przez tę sytuację, aplikacja Flow celowo ogranicza wykonywanie przebiegów w sklepie, co może powodować opóźnienia i błędy przekroczenia limitu czasu. Można to naprawić, przepisując nieefektywne workflow, zwykle w celu naprawienia błędu, który powodował, że nie działały one zgodnie z przeznaczeniem.
Zbyt długie wykonywanie
Ten komunikat oznacza, że wykonywanie przebiegów dla danego workflow trwa bardzo długo. Jest to często spowodowane użyciem w workflow dużej ilości danych, których pobranie przez aplikację Flow zajmuje dużo czasu.
Te przypadki są często spowodowane głębokimi ścieżkami żądań, które przechodzą przez wiele list pozycji (np. żądanie wszystkich metapól dla wszystkich produktów we wszystkich kolekcjach, do których należy produkt):

Jest to również często skorelowane z przekroczeniem limitu czasu kroku wyzwalacza workflow.
Działanie workflow, które przechodzą w pętli przez wszystkie metapola, można często ulepszyć, używając tylko określonego metapola. Dostęp do wielu zagnieżdżonych list (takich jak wszystkie produkty we wszystkich kolekcjach dla produktu) lub szczególnie dużych list (takich jak definicje metapól, które zawierają wszystkie metapola dla wszystkich obiektów) mógł być niezamierzony, a wybranie prawidłowego pola (pojedynczy produkt lub pojedyncze metapole obiektu) może znacznie poprawić wydajność. W innych przypadkach użycie akcji „Pobierz dane produktu/zamówienia/klienta” z filtrem zapytania może znacznie zmniejszyć liczbę używanych obiektów, ale nadal zapewniać dostęp do tych właściwych.
Przetwarzanie zbyt dużej ilości danych
Ten komunikat oznacza, że przebiegi workflow generują dużą ilość danych. Jest to często spowodowane złożonymi warunkami, które sprawdzają wiele pól, zwykle z powodu sprawdzania pól na wielu poziomach list.
Na przykład warunek taki jak: „Dla co najmniej jednego tagu tego klienta, dla co najmniej jednej pozycji pojedynczej zamówienia, dla co najmniej jednego tagu pozycji pojedynczej” może skutkować wykonaniem wielu sprawdzeń i wygenerowaniem dużej ilości danych w celu wyświetlenia wyników tych sprawdzeń:

Niepowodzenie automatycznych ponowień
Ten komunikat oznacza, że przebiegi workflow wielokrotnie kończą się niepowodzeniem z powodu tymczasowego problemu, ale kolejne ponowienia rzadko kończą się powodzeniem. Dzieje się tak często, gdy interfejs Admin API Shopify lub aplikacja partnera obsługuje dużą liczbę żądań.