Twórz Własne Automatyzacje
3 godz. 14 min · Make · Biznes i Automatyzacje
Adam GospodarczykKorzystając z różnych narzędzi, na przykład do obsługi mailingu, masz do dyspozycji na ogół kilka wbudowanych integracji - przykładowo połączenie z kalendarzem czy bramką płatności. Wyobraź sobie, że takie narzędzie możesz połączyć praktycznie z dowolnym innym, nawet jeśli nie ma go na liście. To właśnie potencjał Make, które umożliwi takie automatyzacje.
Jeśli znasz Zapier, Make to podobna koncepcja, ale daje dużo bardziej zaawansowane możliwości, jest dużo tańsza (lub darmowa) a dodatkowo, ma naszym zdaniem bardziej przyjazny i czytelny interfejs zwłaszcza przy tworzeniu rozgałęzionych scenariuszy. Tworzenie automatyzacji z Make to czysta przyjemność i zdrowa porcja dopaminy!
Co najważniejsze, Make umożliwia tworzenie automatyzacji bez użycia ani jednej linii kodu! To jak programowanie 2.0, gdzie rezultaty widzisz i testujesz w prostym, wizualnym edytorze. To najłatwiejszy sposób aby zacząć przygodę z programowaniem i nowoczesnym podejściem do technologii no-code i low-code.
Mimo, że Make jest natywnym środowiskiem no-code, osoby, które nieco lepiej rozumieją zasady działania protokołu HTTP i API i mają podstawy programowania w JS, otrzymują zupełnie nowe możliwości tworzenia oprogramowania, w sposób wizualny i prostszy niż kiedykolwiek. Jeśli osoby początkujące z Make stają się programistami, programiści stają się superbohaterami!
Wyjątkowe w Make jest podejście do tworzenia automatyzacji wizualnie, gdzie bardzo czytelne jest całe flow scenariusza i to, jak przepływają w nim dane. Zaawansowane możliwości jak stosowanie filtrów czy funkcji sprawia, że w tak prostym interfejsie w zasadzie nie ma zadań niemożliwych!
Z dowolnego narzędzia możesz wysłać dane w postaci Webhooka do Make, które zostaną natychmiastowo odebrane. Następnie możesz łatwo przekazać je w dowolne miejsce i do dowolnego narzędzia - na przykład Airtable, z którego często korzystamy aby gromadzić dane, HubSpot'a, Asany czy wysłać powiadomienie SMS, e-mail, Slack. Całość zajmie Ci kilka minut.
Ten kurs jest przeznaczony dla każdej osoby, która chce pracować wydajniej i zatrudnić roboty (automatyzacje), które wykonają za nią powtarzalne zadania. Dzięki temu, zwiększysz efektywność swojej pracy oraz zostaniesz bohaterem automatyzacji w swojej firmie. Osoby, które przerobiły kurs HTTP i API, a także programiści, mogą wycisnąć z tego kursu jeszcze więcej, na dobre zmieniając swoje podejście do automatyzacji. Polecamy wcześniejsze przerobienie przynajmniej kursu HTTP i API, aby lepiej zrozumieć omawiane zagadnienia.
Cześć!
W tej lekcji zakończymy już temat obsługi błędów, natomiast pokażę Ci jeszcze jedną
bardzo istotną technikę, która uzupełni wykorzystanie error handler'ów.
Mianowicie, jeżeli uruchomimy sobie nasz moduł, a następnie prześlemy na niego dane
z pomocą webhook'a, to zobaczymy, że otrzymamy tutaj błąd w tym przypadku
związany z faktem, że identyfikator rekordu jest niepoprawny.
Natomiast poza tym nie mamy tutaj jasnej
informacji mówiącej nam o tym, co dokładnie się stało.
Ale już jeżeli dodamy sobie tutaj error handler,
do którego w tym przypadku przypiszemy router, to zobaczymy, że
jeżeli wykonamy ten scenariusz ponownie, no to okaże się, że uzyskamy tutaj dodatkową
informację wskazującą na rodzaj błędu oraz wiadomość, która jest z nim związana.
I o typach błędów musisz wiedzieć tyle, że
są one uzależnione od tego, w jaki sposób zaprojektowane jest API.
Jednak ogólna zasada mówi o tym, że
konkretny rodzaj błędu powiązany jest z konkretnym rodzajem błędów.
Natomiast ogólna zasada mówi o tym, że raczej typami możemy się kierować w
kontekście tego, z jakim rodzajem błędu mamy do czynienia.
I w tym przypadku jest to błąd wykonania
informujący nas o tym, że jakiś rekord w ogóle nie istnieje.
No i teraz możemy wykorzystać tą informacje o typie błędów do tego, aby
utworzyć filtr, który będzie sprawdzać czy typ błędu, który wystąpi w naszym
module, zgadza się z tym, co podamy tutaj.
W efekcie możemy osiągnąć tutaj rezultat polegający na tym, że będziemy w różny
sposób reagować na konkretne rodzaje błędów.
Dla przykładu dla tego rodzaju błędów
wysyłam wiadomość na Slack'u, ale już dla innego rodzaju błędu mógłbym ustawić inną
reakcję, bądź też nawet całkowite zignorowanie tego błędu.
Także najważniejsze jest tutaj to, aby
było dla Ciebie jasne, że błędy mogą posiadać określony typ.
Taki typ możesz odkryć w momencie, gdy wykonujesz jakąś akcję, a następnie do
konkretnego modułu masz przyczepiony error handler.
Wtedy w ramach wyniku tego modułu
pojawiają się informacje o błędzie, które możesz wykorzystać.
Zwróci uwagę, że nawet tutaj mamy
konkretną informację na temat tego, w związku z jakim polem wystąpił błąd.
Oznacza to, że z wykorzystaniem wyrażeń regularnych bądź funkcji.
Wyszukując określony ciąg znaków w tekście
bylibyśmy w stanie reagować na konkretne pola, które zostały źle uzupełnione i np.
przydzielać im domyślną wartość lub w
jakiś inny sposób reagować na to zdarzenie.
Dodatkowo chciałbym zaznaczyć, że takie filtrowanie, które zastosowaliśmy w przypadku
routera można równie dobrze zastosować w przypadku bezpośredniego error handler'a,
czyli w tym przypadku zrobię tak, że obsługuje dany typ błędów.
Natomiast w momencie, gdy będę miał do czynienia z innym rodzajem błędu, mój
error handler tutaj nie zadziała, a sam scenariusz zostanie zatrzymany dokładnie
tak, jakby żadnej obsługi błędów tutaj nie było.
Dodatkowo przypominam Ci tutaj o opcji routera dotyczącej domyślnych ścieżek.
Jeżeli w ramach filtra zaznaczysz ten o to
checkbox, to ta konkretna ścieżka zostanie oznaczona strzałką bez ogonka, a
co za tym idzie wykona się tylko wtedy, jeżeli filtry pozostałych ścieżek
zadziałają i w rezultacie żadna z nich nie zostanie uruchomiona.
Wtedy zostanie uruchomiony ten fallback, który w tym przypadku z programowania można
porównać do bloku else, występujący w przypadku instrukcji warunkowych if.
Także na koniec musisz pamiętać o tym,
że możesz wykorzystać dodatkowe informacje, które są powiązane z
konkretnymi błędami do tego, aby obsługiwać konkretne rodzaje błędów bądź
też konkretne błędy, które przewidujesz, że mogą wystąpić.
Poza tym chciałbym podkreślić, że
informacje, które znajdują się tutaj, nie są wygenerowane automatycznie.
One pochodzą bezpośrednio z API, a to oznacza tyle, że są w całości uzależnione
od tego, w jaki sposób zaprojektuje je programista.
To z kolei wiąże się z tym, że istnieje pewne prawdopodobieństwo, aczkolwiek nie
jest to powszechna praktyka dotycząca tego, że rodzaje błędów mogą się
zmienić z czasem i dodatkowo nikt Cię o tym nie poinformuje.
Mi osobiście takie sytuacje się nie
zdarzyły, natomiast musisz pamiętać, że coś takiego może mieć miejsce.
Czasem będzie to działanie celowe, a w
niektórych przypadkach może być wynikiem błędu.
Oczywiście informuję Cię tylko o tym, natomiast nie zmienia to faktu, że takie
sytuacje mogą mieć miejsce, ale bardzo rzadko.
Chodzi o to, że w momencie gdy programiści projektują API, robią to również po to,
aby sami z nich korzystać i z tego powodu nawet w ich interesie jest
to, aby nie zmieniać typów błędów czy w ogóle struktury API.
Także podsumowując, do obsługi błędów wykorzystuj również typy błędów oraz
wszelkie dodatkowe informacje, które pojawiają się razem z tymi błędami.
Do tego, aby projektować automatyzację w
taki sposób, aby reagować odpowiednio na konkretne rodzaje błędów.
Dodatkowo możesz wykorzystać również
informacje o błędach do tego, aby przesyłać je dalej.
I w tym przypadku chociażby mowa o wysłaniu wiadomości na Slack'u zawierającej
konkretną informację o tym, jaki błąd tutaj wystąpił.
Jeżeli chodzi o całościową obsługę błędów w Integromacie, to byłoby już na tyle.
Zatem nie pozostaje mi nic innego jak podziękować Ci za uwagę.