Logika
17 godz. 49 min · Biznes i Automatyzacje
Krzysiek PiekarzAutomation Specialist / No-code DeveloperCzy w Twojej głowie pojawił się pomysł na aplikację, która zrewolucjonizuje świat na miarę Facebook'a, Instagrama albo Airbnb? A może zgłosił się do Ciebie klient, który chce przetestować i wdrożyć swój projekt w jak najszybszym czasie?Jeśli tak było to na pewno zadajesz sobie teraz kolejne pytanie - od czego zacząć? Czy muszę posiadać odpowiednią wiedzę programistyczną? Na jaki język programowania się zdecydować lub z jakiego gotowego framework'u skorzystać? A może zatrudnić profesjonalnego designera i software house, który pozwoli mi zrealizować ten projekt?Niezależnie od tego czy czy zdecydujesz się działać sam/a, czy też przekażesz projekt do zewnętrznej agencji i tak staniesz przed kolejnym dylematem jakim jest nauka programowania lub konieczność przepalenia nawet setek tysięcy złoty na coś, co może okazać się niewypałem.Na szczęście szybki rozwój narzędzi no-code sprawia, że możesz wybrać jeszcze trzecie wyjście. Zaprojektować, zbudować i wypuścić w świat swoją wymarzoną aplikację tylko za pomocą własnych sił i to bez konieczności posiadania specjalistycznej wiedzy programistycznej, a nawet posiadając jedynie podstawową znajomość narzędzi do design'u.Pamiętaj również o tym, że projekt ten podzieliłem na dwie części. Ten kurs to druga część, w której zapoznamy się z bardziej zaawansowanymi opcjami, jakie zapewnia nam edytor Bubble. Zdobytą w ten sposób wiedzę teoretyczną wykorzystamy od razu w praktyce dodając do naszego statycznego designu odpowiednią logikę, dzięki czemu nasz finalny projekt będzie już w pełni działającą aplikacją.Jeśli tylko potrafisz w podstawowym zakresie pracować z edytorem Bubble, budować w nim design aplikacji i rozumiesz czym są option sets oraz workflows to posiadanie wiedzy z poprzedniego kursu nie jest koniecznie wymagane. Natomiast szczerze zachęcam Cię przynajmniej do przejrzenia materiałów z pierwszej części, gdzie skupiamy się właśnie na podstawach, ponieważ teraz będziemy efektywnie przechodzić do bardziej zaawansowanych tematów i rozbudowywać naszą aplikację.
W tym kursie „MVP aplikacji w rekordowym czasie z Bubble (Logika)” nauczę Cię jak zamienić statyczny layout na pełnoprawną aplikację. Poruszymy takie tematy jak praca z bazą danych, privacy rules oraz bardziej zaawansowane workflows, które dodamy zarówno na froncie jak i backendzie naszej aplikacji. Dzięki zdobytej wiedzy dodamy logikę wszędzie tam, gdzie tego wymaga nasz projekt, a dodatkowo wzbogacimy go o możliwość płatności poprzez najbardziej popularny na świecie system jakim jest Stripe. To jednak nie koniec ponieważ przygotowałem dla Ciebie również szereg innych ważnych zagadnień, które omówimy i wykorzystamy w praktyce.W ramach nauki skupimy się na jak najbardziej praktycznym podejściu. Zapomnij o długich i nudnych lekcjach pełnych teorii, które zapomnisz zaraz po obejrzeniu. Będziemy budować a nie debatować! W ten sposób nauczysz się pracować z edytorem Bubble na poziomie zaawansowanym. Zrozumiesz jak zabezpieczyć swoje dane przed nieuprawnionym dostępem, w jaki sposób pobierać i dynamicznie filtrować rekordy z bazy danych. A także jak wykorzystać auto-binding by móc je aktualizować bez wykorzystania skomplikowanych workflows.Dodamy do naszej aplikacji prosty komunikator, który pozwoli na wymianę wiadomości pomiędzy użytkownikami. Zadbamy również o możliwość wysyłania powiadomień mailowych poprzez zewnętrzne serwisy by ich wygląd był zgodny z naszym brandem. Nie zabraknie również takich tematów jak SSO z Google czy też proste automatyzacje z wykorzystaniem serwisu Make.
Materiał szkoleniowy został zaprojektowany tak, aby mogło z niego skorzystać jak najszersze grono odbiorców. Nieważne czy jesteś totalnym laikiem, czy też posiadasz już wiedzę z zakresu programowania lub designu, na pewno znajdziesz tu coś dla siebie. A więc kto jeszcze może skorzystać z wiedzy zawartej w tym kursie?
W poprzedniej lekcji obiecałem, że ułatwimy sobie pracę API, a więc
możemy przystąpić do działania.
W tym celu wykorzystamy platformę make. com.
Którą teraz widzisz na ekranie.
Jak zwykle moim celem nie jest uczenie Cię od podstaw, jak działa ta platforma, ale
raczej prezentacja tego, co dzięki niej możemy zrobić i dlaczego bywa tak
niesamowicie przydatna w kontekście pracy z Bubble.
Dlatego też standardowo odsyłam Cię do innych materiałów, które
znajdziesz zarówno na Eduweb.
Mamy tam bardzo fajny kurs Grzegorza, który przeprowadzi Cię przez podstawę
pracy z tym narzędziem lub zawsze możesz skorzystać z innych
tutoriali dostępnych w sieci.
I znów w dużym skrócie Make.
com to platforma do automatyzacji procesów i integracji aplikacji, która pozwala
użytkownikom na łączenie różnych narzędzi i usług w celu automatyzacji zadań
bez konieczności pisania kodu.
Dzięki niej użytkownicy mogą tworzyć tzw.
scenariusze, które automatycznie wykonują zadania, na przykład przesyłają dane
między aplikacjami, aktualizują bazę danych, wysyłają
powiadomienia i tak dalej.
Platforma oferuje wiele gotowych integracji z popularnymi narzędziami i
usługami, takimi jak Google Workspace, Slack, Trello, Shopify i wiele innych.
Umożliwia także bardziej zaawansowane operacje, jak manipulacja danymi,
filtrowanie i tworzenie złożonych przepływów pracy.
Główne cechy tej platformy to łatwość użycia, czyli intuicyjny interfejs typu
przeciągnij i upuść, który pozwala na łatwe tworzenie scenariuszy.
Elastyczność, czyli możliwość tworzenia złożonych i wieloetapowych automatyzacji.
Szeroka gama gotowych integracji z popularnymi aplikacjami i usługami oraz
monitoring i raportowanie, czyli narzędzia, które służą do śledzenia
i analizowania wykonania scenariuszy.
Make jest idealnym narzędziem dla firm i osób, które chcą zwiększyć swoją
efektywność i automatyzować powtarzalne zadania bez potrzeby zaawansowanej
wiedzy programistycznej.
Jego głównym konkurentem jest Zapier, którego jednak odradzam z racji na wysokie
koszty abonamentu i nieco bardziej ograniczoną funkcjonalność.
A więc skoro regułkę mamy za sobą, to przejdźmy do praktycznego przykładu,
czyli do naszego pierwszego scenariusza.
I tu znów w bardzo dużym uproszczeniu taki scenariusz trochę przypomina
workflow, które tworzyliśmy w Babel.
Mamy tu do dyspozycji różne rodzaje triggerów, gdzie tym najbardziej
domyślnym jest interwał czasowy.
Czyli mówiąc po ludzku możemy odpalić taki scenariusz co określony przedział
czasu, na przykład co 15 minut.
Tutaj mamy taką informację i właśnie mógłbym sobie to ustawić na przykład co 15
minut, ale mogę to oczywiście tutaj zmienić, wpisać inną wartość albo
uruchamiać, tak jak widzisz tutaj każdego dnia, każdego dnia, tygodnia i
tak dalej, i tak dalej lub też na żądanie.
Natomiast główną różnicą jest fakt, że o ile w Babel mieliśmy do dyspozycji akcje
związane głównie z naszą aplikacją, czyli na przykład operacje na bazie danych,
nawigacja pomiędzy stronami i tak dalej, to tutaj mamy do dyspozycji tysiące
różnych narzędzi, które możemy wykorzystać.
Wyobraź sobie plac zabaw, gdzie do dyspozycji masz tysiące pluginów
pozwalających Ci korzystać z API np.
Facebooka, Gmaila czy też innych.
I podobnie jak w przypadku pluginów, tak i tutaj ktoś zadbał o to, by przygotować dla
nas szereg gotowych akcji, z których możemy skorzystać.
Dlatego też bardzo często, gdy muszę skorzystać z jakiejś aplikacji, która ma
dostępne API, ale nie ma pluginów bubble, sprawdzam czy jest może
dostępna w makerze.
Oczywiście, jak już doskonale wiesz, po ostatniej lekcji możemy sobie sami dodać
takie akcje, jak zresztą zrobiliśmy w przypadku MailerSend, ale
wymagało to naprawdę sporo pracy.
A więc jeśli tylko jesteś w stanie zgodzić się na dodatkowe koszty, bo jest
oczywiście płatne i tu w ramach abonamentu dostajemy określoną ilość operacji, które
możemy wykonać i nie chcesz siedzieć dodatkowo godzinami nad dokumentacją, to
może to być właśnie idealne wyjście dla Ciebie.
Ja sam czasami też wykorzystuję takie podejście, zwłaszcza w sytuacjach, gdy
dana dokumentacja jest kiepska lub wyjątkowo złożona.
Czyli wiemy już, co to jest ten make.
Rozumiemy, że musimy za niego dodatkowo zapłacić, jeśli chcemy z niego skorzystać.
To teraz przejdźmy do tej ciekawszej części i sprawdźmy go sobie w praktyce.
W pierwszej kolejności spróbujmy odwzorować to, z czym mieliśmy tak duży
problem w lekcji poprzedniej, czyli wysłanie maila poprzez MailerSend.
Aby to zrobić, musimy tutaj dodać nową aplikację.
W banku nazywa się to po prostu nowy moduł.
Mogę to zrobić w tym miejscu.
Klikam na ten plus i tu mam całą listę dostępnych narzędzi.
Jak widzisz już na samym początku pojawia się to, z którego korzystaliśmy,
czyli RTB, a także MailerSend.
Klikam więc sobie tutaj i mam gotową akcję.
Tutaj jest ich niewiele, ale jak widzisz mogę po prostu wysłać maila, a
tak naprawdę na tym nam zależy.
Klikam więc tutaj i teraz muszę utworzyć tutaj połączenie, czyli po prostu
autoryzować je w takiej aplikacji.
Mam tutaj już konto Grzegorza.
Ja jednak chciałbym właśnie dodać kolejne swoje.
I jak widzisz, jedyne co musimy tutaj zrobić, to nazwać takie połączenie.
To jest taka nasza nazwa wewnętrzna.
Nazwijmy ją może po prostu Krzysiek z tej strony, żebym wiedział o właśnie
dokładnie jakiego projektu to dotyczy.
I teraz tylko muszę przekazać tutaj właśnie API token.
Kopiuję, wklejam.
I takie połączenie zostało już dla nas utworzone.
Jak widzisz, zajęło to dosłownie chwilę.
Podobnie zresztą jak na przykład w przypadku pluginu San Grida.
Tam też wystarczyło tylko podać klucz API i to wszystko od razu
działo się automatycznie.
I teraz jak widzisz, zamiast po prostu męczyć się, wpisywać tam jakieś kody,
możemy sobie to wszystko tutaj odpowiednio wyklikać.
Zacznijmy od tego, czy chcemy wysyłać maila bazując na templatce.
Oczywiście tak.
Zaznaczam sobie to i teraz mogę przeglądać dostępne templatki.
Ja mam teraz dwie i pierwsza to jest po prostu welcome email, a druga to Right
Your Booking, czyli to co robiliśmy w poprzedniej lekcji.
Zacznijmy może od tej prostszej, czyli Welcome email.
I teraz tak z jakiego adresu i z jakiej nazwy chcemy wysyłać takie maile?
Wpiszmy dokładnie to, co zadziałało nam w ostatniej lekcji, czyli info
małpa stay next.
Info. Oczywiście tutaj z kropką.
Wpiszmy tutaj Staynest.
Teraz tak. Do kogo chcemy wysyłać?
Znów wyślijmy to do siebie.
Ok. Jaki tytuł ma mieć mail?
Wybierzmy Welcome to the nest.
I teraz tak, musimy tutaj przekazać te zmienne.
Podobnie jak zresztą robiliśmy to wcześniej.
A więc mamy tutaj personalization.
I teraz tak jak widzisz, dokładnie odwzorowujemy
to, co robiliśmy wcześniej w API.
Jeżeli wrócę sobie tutaj do.
Pluginów to mamy właśnie od kogo, do kogo temat i mamy to personalization,
gdzie najpierw był mail a potem data.
Przekazywaliśmy te poszczególne właśnie parametry.
A więc wracamy.
I teraz wprowadźmy tutaj odpowiednie wartości.
Zaznaczyłem sobie tego maila, wklejam go tutaj.
I teraz muszę dodać właśnie te parametry w przypadku templatki welcome, czyli tutaj.
Zerknijmy tu na preview.
Mamy tak naprawdę tylko name.
I to wszystko co musimy przekazać.
A więc skopiujmy sobie nazwę tego parametru.
I teraz możemy wpisać tutaj odpowiednią wartość.
Znów ustawmy to sobie na sztywno, na przykład na Johna.
Klikam ok.
Tutaj muszę sobie jeszcze raz kliknąć.
Czasami to nie zaskakuje.
O widzisz, zniknęła nam ta czerwona kropka.
Zapiszmy sobie w ogóle taki scenariusz.
Nazwijmy go po prostu z tej listy.
Klikam tutaj i takie połączenie zapisz zostało już utworzone.
Jak widzisz, nie czytaliśmy żadnej dokumentacji, nie
uzupełnialiśmy żadnego kodu.
A żeby Ci udowodnić, że to działa, mogę właśnie wykonać teraz taki moduł.
Żeby to zrobić, klikam prawym guzikiem i wybieram moduł.
I tylko ten jeden moduł chcę uruchomić.
Mamy tylko ten jeden.
Klikam tu ok.
Tu nam się pojawiła jedynka, czyli wykonała się jedna operacja, za
którą będziemy musieli zapłacić.
To ile dostępnych masz tych operacji w ramach abonamentu sprawdzisz
sobie na stronie pressingu w Make.
Ja natomiast mogę teraz wrócić do swojej skrzynki odbiorczej i sprawdzić, czy
ten mail rzeczywiście do mnie dotarł.
Jak widzisz mamy Steiness.
Welcome to the Steiness.
Ta wartość została tutaj odpowiednio przekazana.
Padła nam odpowiednia templatka i zajęło nam to dosłownie dwie minuty, a nie
dwadzieścia parę jak w ostatniej lekcji.
Mam nadzieję, że już teraz dostrzegasz, dlaczego właśnie
Make jest tak niesamowicie fantastycznym narzędziem i dodatkowo takich API możemy
tutaj łączyć dosłownie, tak jak powiedziałem, tysiące.
Jak widzisz, ta lista, którą tutaj mamy jest ogromna.
Jest tu cały szereg różnych narzędzi, które właśnie mógłbyś ze sobą pospinać.
Natomiast na razie mamy tutaj tylko jeden moduł.
Wysłaliśmy sobie takiego maila, ale chwilowo nie połączyliśmy tego w
żaden sposób z naszą aplikacją Babel.
Wciąż są to dwa niezależne byty.
Skoro więc nasz scenariusz potrafi już wysyłać maila, to musimy
teraz do niego przekazać dane.
I sposobem, z którego ja najczęściej korzystam, jeśli chcę wywołać daną
automatyzację na żądanie, a nie automatycznie co jakiś czas, czyli np.
Za 15 minut jest rozpoczęcie jej od wierzchołka.
Aby to zrobić wystarczy, że dodam sobie tutaj moduł,
wybiorę web hooka, a w zasadzie zacznę wpisywać i mam tutaj już wierzchołki.
Wybieram sobie Custom Web Hook.
I teraz muszę stworzyć właśnie takiego webhooka.
Dodajmy go sobie tutaj poprzez Add.
Wystarczy, że podamy po prostu tutaj jego nazwę.
Ja go nazwę po prostu z tej next.
Żeby to było dosyć proste i zgadzało mi się z tytułem scenariusza.
Klikam save i taki web hook już został tutaj dla mnie utworzony.
Żeby to odpowiednio działało.
Musi on być pierwszym modułem.
Czyli przenoszę sobie ten zegareczek tutaj.
Jak widzisz zmieniła się ikonka teraz na piorun.
Oznacza to, że taki scenariusz nie będzie uruchamiany właśnie co określony czas,
tylko tak jak piszę tutaj, wtedy, kiedy jakieś dane do niego przybędą.
I teraz łączymy sobie to w ten sposób i mamy utworzony właśnie taki pierwszy
scenariusz rozpoczynający się od kółka.
Ale czym tak w praktyce jest ten web hook?
Tu najprościej znów będzie odwołać się do tego, co robiliśmy w Babel.
Dodaliśmy tam kilka back end workflow, które jeśli zwróciłeś uwagę
noszą nazwę API Workflow.
Jeśli wrócimy sobie do edytora tutaj do Back end Workflow i dodamy nowe,
to będziemy mieć właśnie New API Workflow.
I ta nazwa jest tu jak najbardziej adekwatna, bo tak naprawdę
budujemy w ten sposób własne API.
Co prawda chwilowo te, które tutaj dodaliśmy są dostępne tylko i wyłącznie w
naszej aplikacji, ale jak już Ci wspominałem wcześniej, możemy
je także udostępnić dla innych.
Zobacz na przykład, jak to wygląda w przypadku MailerSend, które utworzyliśmy.
Przejdźmy sobie do pluginów.
Mamy tutaj jakiś adres bagażowy kończący się właśnie w tym miejscu.
To jest adres bazowy takiej aplikacji, A w tym miejscu mamy tak naprawdę nazwę
takiego workflow, które ktoś sobie ustawił tam właśnie w tej aplikacji.
Innymi słowy, zadziałałoby to dokładnie tak samo w naszej aplikacji,
gdybyśmy przeszli tutaj do Settings.
Jak pamiętasz, pojawił nam się właśnie ten taki workflow API Route URL,
czyli taki główny adres.
Mamy tu w f na samym końcu, jeśli zrobimy to łamane na nazwa tutaj
na przykład Delete file.
I teraz gdybyśmy udostępnili takie API na zewnątrz, czyli po prostu zaznaczyli ten
checkbox, to ktoś mógłby właśnie wysłać zapytanie na taki adres i uruchomić
nasze tutaj właśnie to workflow.
Mam nadzieję, że rozumiesz jak to działa.
Mamy po prostu adres bazowy i każdy workflow, które tutaj będziemy dodawać,
będzie można właśnie uruchamiać po takiej nazwie, pod warunkiem, że właśnie będzie
ono tutaj udostępnione jako publiczne.
I webhooki działają właśnie na takiej samej zasadzie.
Jest to taki adres URL wystawiony dla nas, na który możemy przesyłać jakieś dane i
tym samym rozpocząć wykonywanie scenariusza.
Jak pamiętasz, tutaj właśnie dla naszych workflow musieliśmy definiować,
jakie parametry będziemy przyjmować.
Na przykład tutaj był File, tutaj był to user.
Tutaj była to wishlista oraz listingi.
W przypadku webhooków nie musimy od razu aż tak się męczyć,
jeżeli nie musimy sobie generować właśnie takiej listy parametrów.
Możemy to zrobić po stronie wysyłającej zapytanie na taki właśnie web hook.
Jak to zrobić? Już Ci pokazuję.
Kliknijmy sobie tutaj.
Tutaj mogę sobie skopiować adres takiego web hooka.
I teraz wracamy do Babla, do API Connectora.
Zamknijmy to.
I dodajmy tutaj nowe API.
Nazwijmy je po prostu make.
I tak chwilowo nie potrzebujemy tutaj żadnych nagłówków.
Rozwińmy to.
Nazwijmy to send email, a w zasadzie zmienimy to nazwę na Send
Welcome Email, żeby jeszcze była bardziej opisowa.
I teraz tak. Co my tutaj robimy?
Czy wykorzystujemy to jako data?
Oczywiście nie.
Typ odpowiedzi domyślny w majku to po prostu zwykły tekst i obiekt JSON.
I teraz tak, możemy tutaj przesłać jakieś dane.
Teraz wybieramy jaką metodą będziemy przesyłać te dane.
A więc zmieńmy sobie to tutaj na post.
Wklejamy tutaj adres naszego web hooka.
No i teraz musimy tutaj przekazać jakieś parametry.
Co tak naprawdę jest nam potrzebne, żeby wysłać tego maila do użytkownika.
W naszym przypadku jest to tylko jego imię, a więc parametr o nazwie name.
To nie jest privet.
Tu mamy trochę więcej opcji.
Możemy właśnie pozwolić, żeby taki parametr był pusty.
Opcjonalny query String.
Będzie on wtedy dodawany do takiego URL a i czasami rzeczywiście trzeba to
zaznaczyć, jeśli mamy taki wymóg w dokumentacji.
Natomiast u nas tego nie musimy robić i dodajemy tutaj jakiś name np.
Miriam.
Tym razem oczywiście standardowo zaznaczamy ten.
I teraz tak wracamy sobie do scenariusza i musimy go uruchomić w tryb nasłuchu.
W tym celu klikam tutaj Run with only i ten web hook.
Teraz nasłuchuje na dane, które do niego wyślemy.
A więc wracamy.
Klikamy ten przycisk i mamy tutaj tekst Accepted Status code
200, czyli wszystko jest poprawnie.
Klikamy sobie Save i zobacz co się stało w samym scenariuszu.
Padły nam tutaj dane.
Możemy sobie rozwinąć i zobaczyć jak one wyglądają.
I mamy tutaj widzisz parametr name równy Miriam,
co oznacza, że podobnie jak w Workflow skoro coś nam wpadło do pierwszego modułu,
to możemy się do tego odnieść modułach kolejnych, tak jak właśnie było to w
naszym workflow, gdzie na przykład w pierwszym kroku utworzyliśmy jakiś rekord
w bazie danych, a potem mogliśmy się do tego odnosić.
Tutaj działa to w podobny sposób, a więc.
Zamiast tutaj właśnie przekazywać name i tą wartość,
w ten sposób możemy przekazać właśnie wartość tego parametru, czyli będziemy
to przekazywać sobie dynamicznie.
Tutaj jeszcze zauważyłem brakuje maila odbiorcy, a więc zróbmy to tak jak należy,
czyli dodajmy kolejny parametr, tym razem email.
Natomiast jeśli zastanawiasz się, dlaczego ja tego nie robię właśnie tutaj, w tym
obiekcie, to jeśli przekazujemy takie proste parametry, czyli name email bez
jakiegoś zagnieżdżenia, to dużo łatwiej jest to zrobić tutaj.
Tu gdybym chciał właśnie odwzorować to sobie właśnie w ten sposób, tutaj te
parametry to to zagnieżdżenie jest już dosyć skomplikowane i sprawi Ci więcej
problemów, więc znacznie łatwiej jest po prostu wkleić ten kod i tylko
sobie tutaj to uzupełnić.
Zwijamy.
Czyli mamy name, mamy email, odznaczamy to dodajemy tutaj jakiegoś maila.
I znów musimy jak widzisz tutaj zainicjować takie połączenie.
Ponownie Babel nas o tym informuje.
Każda zmiana jaką będziesz tutaj wprowadzał będzie niestety wymagała
właśnie ponownej inicjalizacji.
Dlatego właśnie korzystanie z tego API konektora bywa czasami mocno irytujące.
Niemniej jednak uruchomimy znów nasłuch.
Puśćmy zapytanie do naszego scenariusza.
Ok. Wygląda na to, że wszystko jest ok.
Powinniśmy tym razem otrzymać tutaj dwa parametry, czyli email oraz
imię takiego użytkownika.
Co oznacza, że mogę teraz poustawiać znów tutaj odpowiednie wartości dynamiczne,
czyli email tutaj oraz email tutaj.
Tak.
Klikamy OK, zapisujemy i to co możemy zrobić teraz to
uruchomić już taki scenariusz w tryb ciągłego nasłuchu.
W ten sposób będzie on sobie działał niezależnie od nas i jeśli tylko otrzyma
jakieś dane, to wykona się właśnie to, co tutaj zdefiniowaliśmy.
W naszym przypadku mamy tutaj tylko jedną akcję, czyli wysyłkę maila
właśnie z tej templatki.
A więc włączmy sobie to tutaj.
Scenariusz już nam nasłuchuje, a my możemy teraz właśnie
dynamicznie to sobie wykorzystać.
Czyli jak się domyślasz, wracamy na stronę Scratch PAD.
Przechodzimy do workflow.
Ja znów, żeby tego nie stracić kopiuję, wklejam, blokuję sobie to i tutaj.
Tym razem chcę się odnieść do Make send WelcomeEmail.
I oczywiście możemy dynamicznie przekazać takie parametry.
Zróbmy tutaj może to w ten sposób, żebyś zobaczył, że to rzeczywiście działa.
Wstawmy tutaj jakiś losowy ciąg znaków, czyli formuła.
Niech ma 12 znaków i użyjmy tylko liter OK.
Close.
Chcę to wysłać na swój adres email.
I okej. I teraz odpalmy sobie po prostu.
Taki workflow.
Klikamy Send email.
I sprawdźmy skrzynkę odbiorczą.
Ok. Jak widzisz padł nam drugi.
I tym razem powinien nam tu wyskoczyć właśnie jakiś ten tekst.
Zaraz zerkniemy, czy nam to rzeczywiście tutaj zadziałało.
Mamy tutaj Johna.
Ok, zerknijmy do scenariusza, czy nam się to odpowiednio wykonało, aby sobie
podejrzeć wykonania takiego scenariusza.
Klikam tutaj i tu mam właśnie jego wykonanie.
Zerknijmy co nam tutaj wpadło.
Ok, tu nam wpadła jakaś właśnie taki dziwny string i on powinien
zostać przekazany właśnie tutaj.
Zerknijmy.
Ok.
Chyba nam się tutaj to po prostu nie zaznaczyło poprawnie.
Czasami tak to działa. W makerze to się nie zapisuje.
O właśnie widzisz.
Tutaj powinno być name.
O właśnie. Czyli gdzieś pewnie dodawałem i usunąłem.
Teraz dopiero przekaże nam się to poprawnie, czyli save.
Jak się domyślasz jeszcze raz uruchamiamy nasze workflow.
Tym razem powinniśmy tutaj otrzymać właśnie jakiegoś losowy ciąg znaków.
Mamy trzeciego maila.
No i tym razem ta wartość już została przekazana tutaj poprawnie.
I pierwsza wersja naszego scenariusza działa poprawnie.
Ale mamy tutaj pewną drobną wadę.
Co w sytuacji, gdybyśmy potrzebowali przekazać tu jakieś dodatkowe parametry
albo chcieli wykorzystać ten scenariusz do wysyłki na przykład kilku rodzajów maili?
Ja często właśnie tak robię, że mam jeden scenariusz z jednym łebkiem, który na
podstawie odpowiednich warunków wysyła mi różne maile do odbiorców.
Oczywiście moglibyśmy wrócić do API Connectora, zduplikować sobie takie
wywołanie API i tym razem wysyłać po prostu inny zestaw parametrów.
Natomiast czasami dużo łatwiej jest po prostu przygotować sobie jedną metodę i
tak dobrać zestaw parametrów, aby on obsługiwał jak najwięcej różnych sytuacji.
I zaraz pokażę Ci jak to zrobić.
Zmienimy tutaj tak przede wszystkim nazwę.
Będzie to po prostu send email.
Web hook pozostaje taki, jaki był.
Natomiast ja chciałbym właśnie tutaj wysyłać dwa rodzaje maili.
I tak, tu potrzebujemy tak naprawdę obiekt usera, no bo wyciągamy sobie z niego name.
Wyciągamy sobie email.
Zerknijmy jeszcze jak to wygląda w Mailer Sendzie.
W tej drugiej templatce.
Co my tak naprawdę tutaj musimy przekazywać?
Znów obiekt usera, ale to możemy sobie wyciągnąć z bookingu.
Czyli w bookingu mamy zarówno listing main.
Mamy gościa, z którego możemy sobie wyciągnąć jego name.
No brakuje nam tu tylko tego linku.
A więc zobacz jak ja do tego podchodzę.
Wracam tutaj i tym razem robię to w ten sposób.
Najpierw dodaję parametr type, który będzie odpowiadał za to, jaki typ maila
chcę wysłać i powiedzmy niech to będzie welcome.
Teraz będę tutaj przekazywał ID elementu bubble, który potem będę chciał
sobie pobrać, czyli Bubble.
ID.
To może być chwilowo na razie 1, 2, 3 i tak będzie, by potem przekazywać
te wartości dynamicznie.
I potrzebuję jeszcze jeden parametr, którego niestety nie będę w stanie
wyciągnąć z żadnego rekordu Bubble, czyli po prostu ten login link.
Możemy to zrobić właśnie w ten sposób i tutaj wstawić znane Ci już.
Google. com.
I teraz to co musimy zrobić, to oczywiście znów zainicjować takie połączenie.
A więc.
W ten sposób znów ten button.
Wszystko jest ok, a my teraz będziemy mogli właśnie
wykorzystywać tą jedną metodę i przekazywać tutaj różne wartości.
Natomiast właśnie nie zaznaczyłem tutaj tej opcji, żeby ten loginLink
był tutaj opcjonalny.
Muszę to zrobić.
Jak widzisz tutaj znowu mam informację o tym, że trzeba ponownie to inicjalizować.
Tak jak mówiłem, praca z tym API konektorem bywa mocno irytująca.
Natomiast tak zastanówmy się, czy tylko ten jeden ma być opcjonalny?
Moim zdaniem tak.
No bo tak przekażemy typ welcome.
I tutaj na przykład ID rekordu usera.
A w przypadku tego drugiego maila, gdzie będziemy prosić o ocenę bookingu.
Przekażemy tutaj nazwę na przykład Tap Booking, czyli takiego bookingu, z którego
powyciągamy sobie potrzebne informacje i oczywiście ten login link.
A więc na szybko jeszcze raz.
I ok.
Natomiast właśnie tutaj się pojawia teraz problem.
No bo mówię, że tak przejdziemy sobie do scenariusza i stąd będziemy sobie właśnie
pobierać na przykład rekord usera, rekord bookingu i tak dalej.
Jaki więc sposób połączyć się teraz z naszą aplikacją Bubble?
Jak się domyślasz, jest od tego odpowiednie API i odpowiedni moduł
dostępny właśnie tutaj w Make.
A więc wybieramy sobie tak.
Wpisuję bubble.
Mamy tutaj właśnie dostępny taki moduł.
Jak widzisz całkiem sporo akcji.
I teraz np.
Mogę właśnie wybrać jakikolwiek.
Tylko żeby to nam zadziałało.
Bubble ma bardzo dziwny system. Połączenia.
Zaraz zobaczysz jak on działa.
Spróbuję zrobić to zgodnie z instrukcją.
Czyli tak jeszcze raz dodać moduł.
Dodajmy go tak, żeby on nam tutaj nie wyskakiwał.
Przenieśmy sobie to w to miejsce.
Wybierzmy teraz Bubble.
O właśnie, tu mamy teraz. What's event?
I nie, to jeszcze nie to.
Babel.
No wskakuj nam tutaj.
Watchdata wink.
Aha, to chyba trzeba było tutaj wybrać, jak pamiętam.
O właśnie teraz dopiero pojawia nam się ta opcja Create connection.
Klikam sobie tutaj.
No jak widzisz, muszę tutaj wprowadzić cały szereg odpowiednich danych.
Natomiast żeby to zadziałało odpowiednio tutaj musielibyśmy przejść
przez całą tą instrukcję.
Masz ją dostępną tutaj pod tym linkiem. Help.
Natomiast w przypadku Bubble'a ona jest nie do końca pełna i nie do końca wskazuje
na wszystkie kroki, które musisz podjąć, żeby nam to zadziałało.
Ja już Ci pokazuję jak to zrobić.
Ja przeszedłem wcześniej przez taki proces, więc mam już to
tutaj doskonale sprawdzone.
Przede wszystkim musimy wrócić do samego edytora, przejść tutaj do
settingsów i tym razem włączyć tutaj dostęp do Data API, czyli dostęp do
naszej bazy danych właśnie poprzez API.
Klikamy tutaj.
Jak widzisz, tutaj mamy odpowiednią informację, że musimy się teraz
zatroszczyć właśnie o dostęp do takich danych.
Możesz oczywiście tutaj sobie to wszystko przeczytać.
Natomiast to, co teraz zrobiliśmy, to daliśmy użytkownikom możliwość na przykład
właśnie pobrania sobie tutaj różnych rekordów z naszej bazy danych, ich edycji,
a nawet usunięcia bez naszej wiedzy.
Czyli na przykład gdybym zaznaczył tutaj coś, co jest dostępne dla wszystkich.
Powiedzmy, że listingi, to ktoś mógłby sobie uderzyć pod właśnie taki adres.
Jeśli będzie wiedział, co robi, to na przykład pousuwano nasze listingi.
Jak więc w takim razie zabezpieczyć się przed takimi akcjami?
Otóż w tym przypadku będzie nam potrzebna autoryzacja.
Jak pamiętasz, kiedy korzystaliśmy z Grida albo z Mailer Senda, chodziliśmy tam do
aplikacji, generowaliśmy sobie w niej odpowiedni klucz API i potem
przekazywaliśmy go właśnie w odpowiednie miejsca.
Tak samo zresztą tworzyliśmy właśnie połączenie w majku z mailer Sendem.
W tym przypadku musimy zrobić dokładnie to samo, ale to my jako twórcy aplikacji
generujemy taki klucz, który będziemy udostępniać ludziom, którzy powinni
mieć dostęp do naszych danych.
Aby to zrobić, klikamy tutaj Generate a New API Token nazwijmy go Make.
Bo będziemy go wykorzystywać tylko w Make u.
I to jest pierwszy krok.
Wygenerowaliśmy sobie klucz.
Teraz będziemy mieć właśnie zabezpieczenie.
Kolejnym krokiem jest przejście tutaj do Data i dodanie nowego Data type
o nazwie Mailtable.
Klikamy Create.
Dodajemy tutaj 1 field o nazwie Email.
Będzie to text.
I teraz musimy dodać jeden rekord właśnie w tej nowej tabeli.
I tutaj podajesz adres email na jaki masz założone konto.
Czyli w moim przypadku jest to taki e-mail.
Ok. Klikam Create.
Mamy to utworzone.
Teraz musimy dać dostęp właśnie do takiego DataType.
Czyli wracamy do Settings tutaj do API i zaznaczamy, że tutaj mamy mieć dostęp
do Mailtable, czyli ten checkbox.
I teraz dopiero będziemy mogli właśnie utworzyć takie połączenie.
Aby to zrobić wracamy do make i sprawdzamy co tu trzeba zrobić.
I Babel Connection.
Nie, to jest tutaj Nest.
To jest moja nazwa.
I tak, czyli działamy na domenie takiej roboczej babla.
Czy działamy na własnej.
My działamy sobie na domenie roboczej, a więc musimy ją tutaj przekazać.
Skąd ją wziąć?
Jeśli podejrzeć sobie tutaj URL to jest to właśnie.
Nawet nie tutaj. Możemy przejść tu tutaj URL.
I mamy tutaj ID o właśnie office.
To jest wartość, którą musimy sobie przekazać.
I tak potrzebujemy tutaj jeszcze tego tokenu, który wygenerowaliśmy,
aby to połączenie było bezpieczne.
Czyli klikam, kopiuję.
Wklejam tutaj i teraz wybieram, czy mamy mieć dostęp do wersji deweloperskiej,
czy do wersji produkcyjnej.
U nas jest to na razie development, a więc zostawiam to w ten sposób.
Klikam save.
Jak widzisz, teraz właśnie zostało takie połączenie utworzone, a my
możemy je sobie przetestować.
Wybieram tutaj właśnie Babel i Search a data thing.
O właśnie, chcemy pobrać tutaj jakiś element z naszej bazy.
Jak się nazywa ten data type table?
I teraz unikaid sobie wyciągnijmy.
Sprawdźmy, czy takie połączenie rzeczywiście działa.
Tutaj nigdzie nie znalazłem tych checkboxów, a więc te pozostałe
datatype są na razie niedostępne.
Ale mogę sobie przyjść tutaj, skopiować ten unikat i
wkleić go w to miejsce i spróbować odpalić taki moduł i sprawdzić, czy
rzeczywiście nam to coś zwróci.
Świeci się na zielono.
Jak widzisz mamy tutaj informację o tym rekordzie, czyli takie połączenie z bablem
już nam teraz odpowiednio będzie działało.
Jak widzisz wymagało to trochę więcej roboty niż połączenie z MailerSendem.
Nie wiem dlaczego oni poustawiali to w ten sposób, ale niestety tak właśnie jest.
I tak musimy łączyć sobie to konto właśnie tutaj, w majku.
A więc to, co chcę teraz zrobić, to pozbyć się tego, pozbyć się tego.
Tutaj sobie to przenieść.
No wskakuj mi tu.
Ok.
Coś mi tutaj nie chce zadziałać z jakiegoś powodu.
Ok.
Czemu ta ikonka nie chce tu wskoczyć?
Coś się na nas obraził.
Spróbujmy sobie tutaj przeładować tą stronę.
Ok, teraz działa to już poprawnie.
I teraz tak.
Tak jak mówiłem, będziemy tam przesyłać parametr type, który będzie miał wartość
równą wielką, jeśli chcemy wysyłać maile z powitaniem.
Albo booking, jeśli chcemy właśnie wysłać e-mail tutaj z prośbą
o ocenienie bookingu.
A więc sobie to zróbmy.
Randis module only.
Ok. Teraz nam nic tu nie wskoczyło.
Ok.
Wyłączmy go na chwilkę i spróbujmy jeszcze raz.
Coś mu tutaj odbija i chce mi tutaj nieustannie pobierać jakieś dane.
Niestety mag czasami ma takie właśnie dziwne odchyły.
Okej.
Czemu tutaj nie chcesz nam działać poprawnie?
Czy mamy tutaj jakąś poprzednią wersję?
Mogę sobie ją tutaj spróbować przywrócić.
Okej, spróbujmy jakąś tutaj.
Na przykład tą.
Okej. Cofnęliśmy się za bardzo, ale to nic.
Możemy jeszcze raz odwzorować sobie to, czyli Webhooki Custom Web Hook.
Mam tutaj już swój web hook przygotowany.
To jest dokładnie ten sam web, z którego korzystaliśmy.
Przenosimy to w ten sposób.
Łączymy tak.
Wyrównujemy i zerknijmy, czy nam to teraz będzie działało.
Jak widzisz teraz ten nasłuch działa nam już prawidłowo.
Czasami właśnie trzeba w majku troszkę się cofnąć, żeby to działało poprawnie.
A więc.
Przejdźmy sobie tutaj i wyślijmy właśnie to zapytanie
gdzie mamy typeid oraz ten link.
Żeby mi to odpowiednio wpadło.
I teraz mogę się właśnie odnosić do tych parametrów.
I przede wszystkim tak dodaje tutaj nowy moduł, a w zasadzie moduł o nazwie AT
router, czyli po prostu router, który będzie rozdzielał mi te ścieżki.
I teraz jak widzisz, mam tutaj jeden trigger i dwie ścieżki, które się będą
uruchamiały w zależności od tego, jaki warunek zostanie spełniony.
A warunki dodajemy właśnie w tym miejscu.
Czyli chcę powiedzieć, że tak to będzie welcome.
I w tym przypadku Type ma być równy, po prostu welcome.
Czyli trochę tak, jak robiliśmy Condition, ale w Babel.
Jak widzisz, znowu jest to bardzo zbliżone, a w tym przypadku to ma być
booking i type?
Ma być równy booking.
I ok, co ma się zadziać na ścieżce? Tutaj welcome.
Dostaniemy tutaj tabelę ID.
Czyli ID rekordu usera.
Musimy go sobie pobrać.
A więc dodajmy kolejny moduł.
Będzie to oczywiście Babel.
Chcemy pobrać dany element, czyli Get ta data thingtype to będzie user.
I unika ID to będzie to po prostu Babel ID.
Okej, żeby nam to dalej zadziałało muszę sobie odpalić taki moduł
i przekazać tu jakieś ID usera.
Czyli przejdźmy sobie najpierw tak tutaj do Settings.
Włączmy dostęp do zera i wyłączmy dostęp do bookingu oraz do listingu, ponieważ
listingi też będziemy wyciągać.
Stworzymy trochę taki bardziej zaawansowany scenariusz.
I teraz tak wracam sobie do data jakiegoś rekordu usera.
Może to być na przykład właśnie William.
I teraz przechodzę do scenariusza.
Przekazuję to ID.
Jak widzisz rekord Williama został pobrany.
Natomiast jeśli tutaj będę próbował się odnieść do tych wartości, to widzisz,
one już tak fajnie wskoczyły.
Czyli tak, mamy tutaj maile nadawcy, e-mail, odbiorcy.
No to będzie właśnie tutaj.
Po prostu email.
Będziemy go tutaj mamy.
O, jest tutaj. Email.
To miejsce.
E-mail w to miejsce.
I teraz kolejno. Tutaj potrzebujemy jeszcze first name.
Czyli w to miejsce wstawiamy po prostu first name.
I wygląda na to, że to już nam zadziałało.
Czyli uderzamy pod jeden web hook, przekazujemy
odpowiedni parametr, przekazujemy tabelę ID i na tej podstawie wiemy, że jeżeli to
jest welcome, to tutaj musimy pobrać sobie usera.
Ja mogę tutaj zmienić tą nazwę, żebyś wiedział o co chodzi, czyli user
i po prostu potem name, send, welcome
email i mamy tutaj odpowiednią templatkę. Welcome email.
Teraz to samo możemy zrobić tutaj.
Czyli tak znów wybieramy sobie Babel get data thing.
To co musimy zrobić to najpierw pobrać booking.
Tu oczywiście Bubble it.
Na podstawie bookingu będziemy w stanie sobie pobrać listing,
który tutaj otrzymamy.
A więc mogę sobie to skopiować. Klon.
Zmienić nazwę, żebyś wiedział co się dzieje.
Czyli tak. Tu będzie booking.
Tu będzie listing.
I.
Tu będziemy przekazywać ID wyciągnięte z tego poprzedniego modułu,
więc na razie sobie to usunę.
Chociaż muszę tu przekazać jakąś wartość, żeby nam błędami nie sypało.
Na razie zróbmy to w ten sposób.
Czyli tak najpierw booking z bookingu wyciągamy listing, a jeszcze dodatkowo z
bookingu chcę wyciągnąć właśnie questa, który tutaj to sobie zabukował, żeby
wyciągnąć maila i wysłać go do niego.
Czyli znowu kopiujmy.
User I w tym przypadku będzie to user.
I teraz musimy przejść przez taki łańcuszek.
I zaraz zobaczysz jak to będzie nam tutaj działało.
A więc mierzmy sobie jakiś rekord bookingu.
Podobnie zresztą jak robiliśmy tutaj to wcześniej dla userów.
Ok. Na przykład ten.
Kopiuję tą wartość, przechodzę, odpalam ten pierwszy moduł
rundy z module only, wklejam pyk i powinniśmy pobrać tutaj cały
rekord właśnie takiego bookingu.
Wygląda na to, że mamy tutaj listing ID takiego listingu.
A więc to co chcę zrobić teraz to przejść tutaj i odnieść się właśnie do listingu.
Musieliśmy najpierw zainicjować taki moduł, żeby właśnie mieć
dostęp do tych wartości.
Czyli tak bez tej jedynki.
Tym razem będzie to listing.
Około.
A tutaj będzie to gest jak się domyślasz, czyli IT takiego gościa.
I teraz tak.
Skopiuję sobie to i na razie wkleję na drugi ekran.
I najpierw skopiuję tak listing.
Inicjujemy ten moduł, pobieramy dane listingu, mamy wszystko ok.
Skopiowałem sobie z zewnątrz właśnie ID takiego usera.
Pyk.
I teraz powinniśmy mieć dostęp tutaj do wszystkich tych modułów.
To co muszę zrobić, to tak sklonować ten moduł, zmienić to na Send.
Booking RaidEmail.
I pozmieniać te wartości przede wszystkim.
Tak, to jest ta druga templatka Rate your booking.
Do kogo to wysyłamy? Tu mamy.
Jak widzisz jak najadę tutaj to nam się świeci.
Z którego modułu wyciągamy sobie te dane?
Czyli z usera wyciągamy jego email.
Tutaj i tutaj i kolejno jakie my tam mamy jeszcze wartości?
Na pewno mamy.
Tutaj Co my tu jeszcze mamy?
Mamy name, mamy listing name, mamy login, link, ok name listing name.
Dodajmy sobie kolejny tutaj parametr.
Missing name to mamy tutaj.
Name wyciągnięte stąd imię usera.
To oczywiście stąd. First name.
I potrzebujemy jeszcze login link, ale ten będziemy przekazywać już bezpośrednio
na Web hook, czyli login link.
To będzie ta wartość tutaj przekazana właśnie w ten sposób.
Jak widzisz stworzyliśmy teraz taki bardzo prosty, ale jednocześnie super
funkcjonalny scenariusz, gdzie mamy jeden web hook, jedna metodę właśnie tutaj w
Babel, a dzięki niemu możemy właśnie wysyłać różne rodzaje maili.
No i mogę Ci to udowodnić.
Wróćmy oczywiście do samego Babla.
Tutaj na stronę Scratch PAD.
I tak tym razem może wyślijmy tutaj po prostu booking.
Link może zostać.
A tutaj przekażmy ID jakiegoś bookingu.
Czyli znowu dupa. Search for Booking.
Jakiś random item i oczywiście ma to być unikat.
W ten sposób.
I zerknijmy czy nam to teraz zadziała.
Odświeżymy.
I spróbujmy sobie wysłać takiego maila.
Zerknijmy do naszego scenariusza.
I chwilowo on się nie wykonał, bo go oczywiście nie uruchomiliśmy.
Ale nie przejmuj się, to wcale nie oznacza, że straciliśmy te dane.
Jeśli teraz kliknę tutaj, to Bubble mi informuje, że mamy coś w
kolejce, co jeszcze nie zostało przeprocesowane i czy
chcemy to przeprocesować.
Klikam tutaj proces all data.
I teraz taki scenariusz powinien mi się tu odpowiednio wykonać.
A jak widzisz tutaj się coś nam nie odpaliło.
Nie wiem dlaczego.
Jaki tutaj mamy błąd?
Gdzieś nam nie wskoczył jakiś parametr. Email.
Email. First.
Name.
Login. Link.
Czy on nam tutaj nie wskoczył?
Ok.
Czemu nam to nie zadziałało?
I ten login link tam nie przeszedł.
Make a o widzisz.
Coś nam tutaj nie zaskoczyło.
Nie wiem dlaczego tutaj nie wskoczyła nam ta wartość i rzeczywiście była ona pusta.
Ale to nic.
Mogę po prostu dodać sobie, żeby Ci udowodnić, że to działa.
Na przykład adres strony Scratch put.
Ok.
Teraz powinno nam to rzeczywiście zadziałać.
Jakiś bug nam tutaj właśnie w Babel wskoczył i to się jakoś
nie uzupełniło Poprawnie. Ok.
Teraz przekazujemy wszystkie 3 wartości.
A więc włączamy nasz scenariusz.
Sprawdzamy czy jest włączone.
Teraz powinno się to wykonać poprawnie.
Odświeżamy jeszcze raz.
Jak widzisz taka deweloperka wymaga całej masy różnych testów i powtórzeń tego co
robisz, ale niestety właśnie tak wygląda nasza praca na co dzień.
Klikamy Send email i zerknijmy czy tym razem wszystko poszło bezproblemowo.
Ok, mamy jakiś rekord w kolejce.
Jak widzisz wskoczyło to co powinno, czyli jest ok.
Mogę więc kliknąć Run ons i teraz powinniśmy przejść przez tą ścieżkę i ok.
Wszystkie moduły się wykonały, czyli pobrał się booking.
Z niego wyciągnął się listing.
Z bookingu wybraliśmy jeszcze usera i mając te wszystkie dane.
Wysłaliśmy tego maila.
Nie wiem czy jest to optymalny scenariusz.
Jak widzisz wykonujemy tutaj cały szereg różnych dziwnych operacji i
za każdą z nich musimy płacić.
Dlatego też czasami dużo lepiej jest to na przykład zdefiniować sobie po stronie
Babla i wysyłać właśnie konkretne informacje, żeby tych modułów
tutaj było jak najmniej.
Ja natomiast chciałem Ci pokazać właśnie, jak tworzyć takie połączone właśnie tutaj
scenariusze, ścieżki, gdzie odnosimy się do różnych datatype i wyciągamy sobie
z nich właśnie te różne informacje.
Dodatkowo jeszcze zamknijmy to i tak przejdźmy sobie tutaj.
Chcę się cofnąć.
Ok, a teraz chciałbym się pokazać jeszcze na sam koniec inne scenariusze, które
przygotowałem w oparciu właśnie o Babel.
I tutaj odnoszę się do radaru premier, który budowałem i na przykład w tym
przypadku pobieram sobie co jakiś czas wszystkie posty, które Grzegorz
dodał na stronie Webflow.
Sprawdzam, czy zostały opublikowane.
Sprawdzam, czy nie istnieją już wcześniej w naszym Bumble.
Jeśli nie, to je sobie tutaj odpowiednio tworzę.
Najpierw pobieram tutaj miniaturkę i tworzę taki rekord w Babel, dzięki czemu
one się pojawiają na naszej stronie w odpowiednim miejscu.
Tu mamy troszkę bardziej zaawansowany scenariusz.
Natomiast jak widzisz w tym przypadku nasłuchuje sobie na zmianę w rekordzie
Vertable i tam Grzegorz lub ktokolwiek inny może oznaczyć jakiś produkt jako
zakończony, jeśli on nie spełnia jakichś określonych warunków.
I znów tutaj przechodzimy całą ścieżkę.
Jak widzisz, tworzę sobie taki tutaj łańcuszek i odpowiednio usuwam właśnie
takie dane bezpośrednio właśnie w Babel, czyli w tym przypadku delete.
Na przykład. Search data.
I ostatni scenariusz tutaj.
Oczywiście mógłbym to zrobić w samym Bablu, natomiast dużo prościej było mi
znaleźć właśnie gotowy moduł, który konwertuje mi obrazki z WebP do JPG.
Czasami ludzie właśnie je wrzucają, a kiedy my po naszej stronie chcemy właśnie
wysłać newslettera, to MailerLite, o ile dobrze pamiętam właśnie nie radzi sobie z
tym PP i po prostu wychodziły takie mailingi bez obrazka danego produktu.
Dlatego też właśnie wdrożyłem taki prosty scenariusz, który to odpowiednio tutaj
właśnie modyfikuje i w ten sposób wszystko działa nam poprawnie.
Tak więc sam widzisz połączenie Babel oraz Make daje nam ogromne wręcz możliwości
spinania ze sobą różnych serwisów.
Oczywiście znacznie wydajniej.
Tak jak mówiłem wcześniej, jest to zrobić z samym Babel.
Wtedy nie ponosimy dodatkowych kosztów, ale czasami przewaga i szybkość z jaką
jesteśmy w stanie połączyć w make różne API bez tworzenia tych zapytań
ręcznie, jest warta swojej ceny.
Dziękuję Ci za uwagę i do zobaczenia w kolejnej lekcji.