Uruchom kod
Czynność Uruchom kod polega na wykonaniu kodu JavaScript. Możesz przekazywać dane z poprzednich kroków w workflow jako dane wejściowe do czynności Uruchom kod i zwracać wartości, które mają być używane w kolejnych krokach.
Na tej stronie
Pola
Czynność Uruchom kod zawiera poniższe pola.
Pole | Opis |
---|---|
Dane wejściowe | Wymagane. Zapytanie GraphQL umożliwiające wykorzystanie danych z poprzednich kroków jako danych wejściowych dla czynności Uruchom kod. |
Dane wyjściowe | Wymagane. Reprezentacja danych, które mają zostać zwrócone w ramach czynności, zdefiniowana w języku Schema Definition Language (SDL) GraphQL. |
Kod | Wymagane. Kod JavaScript wykonywany w ramach czynności Uruchom kod. |
Dane wejściowe
Dane wejściowe mogą być przekazywane z kroków realizowanych przed czynnością Uruchom kod. Aby uwzględnić te dane, możesz napisać zapytanie GraphQL w polu Dane wejściowe. Dane zwrócone z zapytania będą dostępne jako argument input
dla funkcji oznaczonej export default
nazywanej umownie main
.
Zapytanie wejściowe jest zapytaniem o dane środowiska Flow, a nie zapytaniem do API Shopify Admin. Z tego względu nie można wstawić zapytania Shopify w danych wejściowych. Ponadto Flow obsługuje błędy edges
i nodes
w zapytaniu, więc nie trzeba dodawać tych lub innych składni stronicowania do zapytania.
Przykładowe dane wejściowe, które pobierają notatkę o zamówieniu i tytuł pozycji:
Dane te są przekształcane na zmienną input
, która może być używana w kodzie:
Dane wejściowe mogą być również zdestrukturyzowane w sygnaturze funkcji:
Metapola
Aby uzyskać dostęp do pojedynczych wartości metapola w czynności Uruchom kod, musisz najpierw dodać metapole do danych środowiska Flow. Można to zrobić w dowolnym warunku lub czynności innej niż Uruchom kod. Na przykład możesz dodać czynność Dane wyjściowe dziennika, a następnie postępować zgodnie z instrukcjami, aby dodać metapole.
Po dodaniu metapola do środowiska workflow możesz uzyskać do niego dostęp w czynności Uruchom kod. Załóżmy na przykład, że dodano metapole Zamówienie z nazwą aliasu giftMessage
. Dostęp do niego możesz następnie uzyskać w zapytaniu wejściowym:
Dane wyjściowe
Czynność Uruchom kod polega na zwróceniu niestandardowych danych. Aby zdefiniować typ danych, które zwróci kod, użyj pola Dane wyjściowe i Schema definition language (SDL) GraphQL. Obsługiwane typy danych wyjściowych to String
, Int
, Float
, Boolean
oraz ID
, które są zgodne ze specyfikacją SDL dotyczącą określania wymaganych pól, list i danych niestandardowych.
Na przykład, aby zwrócić ciąg znaków o nazwie giftMessage
i liczbę o nazwie totalGifts
:
Komentarze są opcjonalne, ale będą używane do opisu danych w interfejsie użytkownika Flow. Aby wyprowadzić te dane w kodzie JavaScript, zwróć obiekt pasujący do typu:
Możesz także zdefiniować typ niestandardowy, aby zwrócić bardziej złożone dane. Na przykład, aby zwrócić typ o nazwie Gift
zawierający ciąg znaków o nazwie message
i liczbę o nazwie amount
:
Aby uzyskać dostęp do tych danych w krokach wykonywanych po tej czynności, użyj zmiennej o nazwie Uruchom kod, która zostanie wpisana zgodnie z schematem Output
zdefiniowanym w konfiguracji czynności Uruchom kod. Możesz użyć tej zmiennej zarówno dla warunków, jak i dla czynności.
Console.log
Możesz użyć console.log
w celu wyprowadzenia danych do dziennika uruchamiania workflow Flow na potrzeby rozwiązywania problemów. Dane wyjściowe będą widoczne w dzienniku przebiegu dla workflow. Na przykład, następujące są prawidłowe:
Nie można używać console.info
, console.error
ani innych funkcji w ramach czynności Uruchom kod.
Przykład:
Przykłady czynności Uruchom kod można znaleźć w repozytorium przykładów Flow.
Ograniczenia
Czynność Uruchom kod ma następujące ograniczenia:
- Czynność Uruchom kod obsługuje ECMA2020 JavaScript. Nie obsługuje interfejsów API NodeJS, CommonJS ani importowania modułów.
- Kod nie może wykonać wywołań http (
fetch
). - Funkcje losowe i oparte na zegarze nie mogą być używane. Dane dotyczące daty, takie jak
scheduledAt
lubcreatedAt
mogą być przekazywane jako dane wejściowe. - Console.log nie zapisuje w konsoli przeglądarki.
- Nie możesz dodać aliasu metapola bezpośrednio w czynności Uruchom kod. Wyświetl sekcję metapola, aby dowiedzieć się, jak to zrobić.
Ponadto wymuszane są następujące limity:
- Zapytanie o dane wejściowe jest ograniczone do 5000 znaków.
- Schemat danych wyjściowych jest ograniczony do 5000 znaków.
- Łączny rozmiar obciążenia danych wyjściowych i danych wyjściowych Console.log nie może przekroczyć 50 kB.
- Kod nie może być dłuższy niż 50 000 znaków.
- Całkowity czas wykonania jest ograniczony do 5 sekund.
- Wykorzystanie pamięci jest ograniczone do 10 MB.
Plan działania
Zespół Flow planuje z czasem dodawać różne funkcjonalności do czynności Uruchom kod. W poniższej tabeli przedstawiono planowane optymalizacje i przewidywane daty realizacji.
Optymalizacja | Opis | Przewidywana dostawa |
---|---|---|
Rejestrowanie | Użycie 'console.log' w celu wyprowadzenia danych do dziennika uruchamiania na potrzeby rozwiązywania problemów. | Gotowe. |
Zewnętrzne wywołania API | Użycie funkcji pobierania JavaScript w celu wywołania interfejsów API. | Kw.1 2025 r. |
Szablony
Dodaj darmowe (z rabatem w wysokości 100%) pozycje do nowych zamówień
Ten szablon dodaje darmowe, objęte rabatem pozycje do nowych zamówień, jeśli dana pozycja jest w magazynie. Sprawdza zapasy, stosuje rabat w wysokości 100% i aktualizuje zamówienie bez powiadamiania klienta. Ta automatyzacja, sprawdzi się jako narzędzie do: (1) poprawy satysfakcji klientów poprzez dołączanie niespodziewanego podarunku w postaci darmowej pozycji do zmó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ę dołączania i obejmowania rabatami pozycji. Wyświetl szablon
Anuluj nieaktywne zwroty
Automatycznie anuluj zwrot, w przypadku którego nie nastąpił zwrot kosztów lub zwrot do magazynu w ciągu określonego czasu. Wyświetl szablon
Konwertuj tagi z prefiksem na metapole produktu za pomocą akcji uruchamiania kodu
Ten workflow wybiera tagi, które zaczynają się od prefiksu, takiego jak np. „kolor”, i dodaje je do listy metapól produktu. Wykorzystuje akcję uruchamiania kodu do parsowania tagów i istniejących pozycji na liście metapól. Workflow uruchamia się, gdy produkt zostaje utworzony, ale nie może być ręcznie uruchomiony w przypadku istniejących produktów. Wyświetl szablon
Wyślij powiadomienie, gdy klient zamawia wiele wariantów produktu
Otrzymuj powiadomienie e-mailem, gdy klient zamawia wiele wariantów tego samego produktu. Wyświetl szablon
Wyślij powiadomienie, gdy zamówienie zawiera pakiet
Ten workflow rozpoczyna się po utworzeniu zamówienia i sprawdza, czy którykolwiek z produktów z zamówienia został zakupiony w ramach pakietu. Jeśli tak, zostanie wysłany wewnętrzny e-mail ze szczegółami pakietu. Ponadto możesz użyć tego procesu workflow jako punktu wyjścia do każdego przypadku użycia, który musi wykryć obecność pakietu w zamówieniu. Wyświetl szablon
Oznacz zamówienia z powiązaną kampanią UTM
Dodaje oznaczenia do zamówień, które zawierają nazwy wszelkich powiązanych kampanii UTM. Wyświetl szablon