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?
Zgodnie z obietnicą w tej lekcji zajmiemy się praktycznym wykorzystaniem
dokumentacji API.
W tym celu wykorzystamy właśnie mail Send, który niestety nie posiada
gotowego pluginu w Babel.
Czyli tak jak Ci mówiłem, natrafiliśmy na sytuację, która wydarzy Ci
się na pewno bardzo często.
Natomiast aby nie utrudniać sobie zadania dodamy tylko i wyłącznie jedną metodę,
która pozwoli nam wysłać maila na podstawie przygotowanego
wcześniej szablonu.
Jak pamiętasz, tam w dokumentacji mieliśmy cały szereg dostępnych metod.
My jednak nie utrudniamy sobie zadania i wybraliśmy tylko i wyłącznie jedną.
Wracamy więc do Mail Send.
Przechodzimy tutaj do Templates, czyli w to miejsce
kolejno klikamy tutaj Manage i przechodzimy do API Construction, czyli
do tego jak wykorzystać właśnie to API, aby wysłać takiego maila.
Mamy tu jak widzisz odpowiednią instrukcję, która niestety do końca nie
jest w pełni czytelna i mi osobiście chwilę zajęło, żeby się połapać
jak to ma tu w zasadzie działać.
Przede wszystkim tak jak wspominałem, będziemy tutaj działać na koncie testowym,
a w zasadzie na domenie testowej, czyli nasz adres nadawcy będzie tutaj właśnie
w tym miejscu dość brzydko wyglądał.
Oczywiście w Mail Send możemy dodać własną domenę oraz podobnie jak w Androidzie
dodać własny adres mailowy w takiej domenie, z którego potem
będą wychodzić takie maile.
Ale niestety proces takiej weryfikacji trwa tutaj nawet do 24 godzin.
Plus aby dodać takiego maila musimy mieć już plan inne niż trial, czyli
najprawdopodobniej jakiś plan płatny.
Ja natomiast nie chcę Cię naciągać na żadne dodatkowe koszty.
Tak więc możesz tutaj założyć konto Gmail wszędzie i próbować
odwzorować moje działania.
Albo możesz po prostu posiedzieć i popatrzeć i zobaczyć jak
pracuje się z takim API.
Tak więc pozostawiamy te instrukcje w takiej formie jaka jest i zaraz będziemy
próbować odwzorować ją sobie w Babel.
Naszym pierwszym krokiem będzie dodanie nowego pluginu.
Będzie to plugin o nazwie API Connector.
Musimy go tutaj namierzyć. Jest na dole.
Jak widzisz jest przygotowany przez Babel.
Klikamy Install.
I teraz będziemy mogli właśnie tworzyć takie nowe metody, czyli Add API.
Jeśli wydaje Ci się, że już widziałeś gdzieś to okienko, to oczywiście masz
całkowitą rację, bo właśnie taki sam interfejs miała
zakładka API calls w przypadku narzędzia do budowania pluginów.
A więc tak zainstalowaliśmy API Connector.
Nazwijmy nasze API.
Niech to będzie po prostu mail sent, żebyśmy wiedzieli właśnie
z jakim API mamy do czynienia.
Teraz klikamy tutaj Expand i będziemy mogli właśnie tutaj dodać
nasze nowe zapytanie.
Nazwa to nasza nazwa wewnętrzna, po prostu send email.
I tutaj tak.
Czy pobieramy jakieś dane, które będziemy chcieli wyświetlać na stronie?
Nie.
My chcemy po prostu kliknąć w button i wysłać taki przycisk.
A więc tutaj będziemy wykorzystywać nie Data, a action.
Data Type zostawiamy sobie na Gibson.
I teraz tak. Co tu w zasadzie musimy wprowadzać?
Jaki adres URL, jaką metodę, jaki tutaj, nagłówki, parametry itd.
Wracamy do dokumentacji i żeby ułatwić sobie zadanie możemy tak
skopiować cały ten kod, czyli ten tutaj curl.
Przechodzimy zawsze do tej zakładki i ten kod sobie kopiujemy.
Teraz ja korzystam w swojej pracy z bardzo przydatnego narzędzia o nazwie Atman.
Widzisz go teraz tutaj właśnie na ekranie? Link jest na dole.
Polecam Ci go po prostu zainstalować, ponieważ będzie on bardzo przydatny
właśnie w testowaniu różnych API, wysyłaniu zapytań.
Zresztą bardzo często napotkasz się z taką sytuacją, że dane aplikacje będą
miały gotową całą dokumentację.
Podpisana wystarczy tylko po prostu pobrać, ona się po prostu
pobierze to naszego Pana.
Tak jak widzisz tutaj mamy np.
Newton API i te wszystkie metody tutaj zostaną odpowiednio dodane.
Nie będziemy musieli tego po prostu wpisywać ręcznie i będziemy mogli
sobie to spokojnie przetestować.
A jeśli dana metoda będzie działała, to będziemy
mogli ją potem oczywiście wdrożyć do bubla.
Ja już mam zainstalowanego Rossmanna, mogę się tutaj przełączyć.
Mam tutaj właśnie nową, pustą przestrzeń.
Dodałem sobie kolekcję i teraz właśnie chcę zaimportować taką
Skopiowano metodę Curl. Robię to w ten sposób.
Klikam tutaj Import.
i w tym miejscu wklejam cały ten kod.
Jak widzisz teraz utworzyła się na mnie metoda.
Mam informację jaka to ma być metoda.
Do wyboru mamy tutaj kilka różnych rzeczy get, post, patch itd.
Natomiast tak naprawdę w naszej pracy najczęściej będziemy korzystać
z tych dwóch pierwszych.
Get służy do pobierania jakiś danych.
Jest to trochę odpowiednik tego jak byś wpisał adres jakiejś
strony w przeglądarce.
Po prostu przechodzisz na tę stronę, ona się pobiera do Twojej przeglądarki
wszystko co ma się wyświetlić.
Natomiast w przypadku post my coś wysyłamy, to
aplikacja zawiera taki endpoint i coś nam zostaje zwrócone, a przy okazji
wykonuje się jakaś operacja.
W naszym przypadku właśnie wyślemy zapytanie na ten adres,
potem aplikacja mail pod spodem wyśle właśnie dla nas takiego maila.
Teraz przechodzimy tutaj do sekcji Header.
I teraz tak możemy sobie tutaj ukryć takie generowane przez samego Pana
nagłówki i zerknijmy co mamy tutaj.
Będziemy musieli to sobie odpowiednio uwzględnić w naszej aplikacji.
Czyli w naszym zapytaniu mamy tutaj content type.
Mamy taki dodatkowy nagłówek i mamy to, co jest dla nas najważniejsze autoryzacją.
Tutaj mamy informację zostawiamy Brr.
A w tym miejscu mamy wstawić właśnie nasz token.
Ja już go sobie wcześniej wygenerowałem.
Teraz mogę go skopiować i go tutaj wkleić w to miejsce.
W ten sposób będziemy mówić właśnie API maila klienta, że to my jesteśmy właśnie
takim zarejestrowanym użytkownikiem i mamy prawa do wysyłania takich maili.
Kolejna przechodzimy sobie do body i patrzymy co my tutaj mamy.
Mamy w pierwszej kolejności email, z którego będziemy wysyłać
takie właśnie wiadomości.
I tu właśnie jak widzisz mamy jakieś info Małpa Domain.
COM Jest to całkowicie niezrozumiałe.
Natomiast ja gdzieś tam zagłębieniu się w tą
dokumentację odkryłem, że wystarczy wrócić do maila SENT a tutaj do naszych domen.
Skopiować sobie całą tą domenę.
I wtedy mamy taki adres.
Na razie nasza domena, czyli w moim przypadku web dev kabat jeszcze nie
została zaktualizowana, nie zatwierdzona przez maile NDA, a więc
nie mogę podać tutaj np.
Office Małpa Web Device Event com tak jak to robiłem w Grida.
Muszę na razie po prostu zastosować taką domenę serialową.
Teraz do kogo chcemy to wysyłać?
Oczywiście na razie wpiszmy sobie na sztywno jakiś adres.
Niech to będzie office małpa.
Tajne.
Info Teraz dokładnie ten sam adres mailowy.
muszę wstawić tutaj.
Taki jest wymóg tego API.
Maile SENT a i w to miejsce będziemy przekazywać
właśnie te wartości do naszego szablonu, czyli name.
Niech to będzie znowu William Login page.
Dajmy tu na razie po prostu stronę Googla.
Google'a https Google.
COM I booking name.
Niech to będzie super listing.
Po prostu to jest nazwa listingu i tyle.
OK, teraz takie zapytanie.
Teoretycznie już jest gotowe.
Możemy je przetestować mailem.
Sędzia Wystarczy, że kliknę tutaj Send i powinienem otrzymać tutaj jakąś odpowiedź.
Czekamy na wysłanie.
OK, mamy This action is an auto list. Dlaczego?
Czy gdzieś się tutaj nie pomyliłem?
Dzięki magii ekranu udało mi się ten problem rozwiązać wyjątkowo szybko.
Jak widzisz.
Ale tak naprawdę jednak namierzenie tego, co tu się działo zajęło mi dłuższą chwilę.
Otóż okazało się, że na poprzednim koncie, kiedy wysłałem swoją własną domenę do
weryfikacji, a w zasadzie potwierdzania jej przez Mail sent, została ona odrzucona
z jakiegoś tam powodu, a dodatkowo mail ten zablokował mi również możliwość
wysyłania w ogóle jakichkolwiek wiadomości zarówno z tej mojej domeny,
jak i z tej serialowej.
Dlatego też jak widzisz założyłem tutaj nowe konto na nowo.
Dodałem tutaj identyczną łatkę.
Czyli bardzo podobną do tego, co mieliśmy tutaj wcześniej.
Od razu jak widzisz poprawiłem sobie nazwę tych zmiennych, czyli mamy tutaj name,
listing name oraz link tutaj.
Do tego przycisku możemy sobie przejść do Manage, żeby wygenerował ten kod.
Tutaj jest instrukcja do API.
Dodatkowo próbowałem jeszcze bez dodawania tutaj własnej domeny wysyłać maile no i
się okazuje, że to też nie do końca działa.
Czyli ta domena testowa, którą dostajemy tutaj, tak naprawdę okazała się
całkowicie niepotrzebna i bezsensowna.
Jak widzisz, wysłałem tutaj siedem maili i wszystkie siedem zostało odrzuconych.
Wydaje mi się, że to po prostu Google sprawdzając taką domenę stwierdził, że to
jest jakiś scam albo spam, który dostajemy na naszą skrzynkę i po prostu
z automatu to odrzucił.
Tym razem po prostu dodałem sobie tutaj nową domenę.
Tutaj jest info.
Ponieważ ona jest wykupiona na giełdę, to sama weryfikacja taka wstępna przebiegła
bardzo szybko, a dodatkowo na razie nie wysyłam jej do dalszej weryfikacji.
I to jak widać pomogło.
Jestem w stanie tutaj wysłać maila.
Jak widzisz oba te maile zostały tutaj doręczone.
Natomiast jak to wygląda teraz w samym Rossmanie ta instrukcja, Ponieważ wróćmy
tutaj ten placek jeszcze raz do Manage.
Otrzymaliśmy taki kod, który sobie skopiować i wkleić do bosmana.
To Ci pokazałem przed chwilą.
I tu niestety będziemy musieli wprowadzić kilka poprawek.
Przede wszystkim musiałem sobie na nowo wygenerować klucz API i wstawić go tutaj.
A więc mamy tutaj te trzy wymagane nagłówki Content Type Then oraz
autoryzację tutaj z nowym API Key.
Natomiast w przypadku samych parametrów mogę teraz wykorzystać już swoją domenę.
Czyli jak widzisz mam tutaj adres mailowy @ + tajne info.
Dodatkowo tutaj mogę sobie wysłać to już na własną skrzynkę.
To o czym nie wspomina ta instrukcja tutaj, to fakt, że należy dodać jeszcze
jeden parametr, czyli subject, który odpowiada właśnie za tytuł takiego maila.
Znów musiałem się tego dokopać gdzieś w dokumentacji.
I teraz możemy już właśnie wysłać takiego maila, przekazując tutaj
odpowiednie dane parametry.
I mogę Ci to udowodnić.
Mam nadzieję, że tym razem wszystko zadziała bez problemowo.
Klikamy jeszcze raz Send.
I tak nie dostajemy tutaj nic w odpowiedzi i to musimy sobie zapamiętać.
Dodatkowo mamy tu też status 202, czyli accepted.
Wszystkie statusy zaczynające się na dwieście oznaczają, że wszystko
przebiegło tak jak trzeba i zadziałało.
Po prostu takie wywołanie takiej metody i taka akcja się wykonała.
Możemy to sobie sprawdzić.
Wróćmy do naszej skrzynki mailowej.
Jak widzisz rzeczywiście taki mail do mnie dotarł.
Mamy tutaj info małpa, tajne info i dokładnie to co przekazaliśmy, czyli
te parametry odpowiednio podskakiwały.
OK, skoro wiemy, że taka metoda już działa,
mamy ją tutaj, przetestowano w Rossmanie, wiemy jakie nagłówki mamy dodać,
wiemy jak ma wyglądać to body.
No to teraz naszym głównym zadaniem będzie odwzorowanie tego właśnie poprzez
API Connector w samym Babel.
Żeby to zadziałało, musimy po prostu tam dodać taką metodę i ją zainicjować, a
potem będziemy mogli z niej korzystać. Jak to zrobić?
Jest to mega proste. Zaczynamy od skopiowania po prostu adresu.
Przechodzimy tutaj do plugins do naszego pierwszego API i w GET zmieniamy na post.
Dodajemy tutaj odpowiedni adres.
Mówiłem Ci, że w odpowiedzi nie dostajemy nic, a więc tutaj musimy zaznaczyć, że
spodziewamy się po prostu pustej odpowiedzi.
Czasami jest to prosty obiekt JSON, Do tego też jeszcze przejdziemy.
Natomiast u nas po prostu nic tam nie będzie zwracane oprócz
właśnie takiego kodu.
To się wykonało poprawnie, a więc to górną część mamy już teraz z
głowy i możemy przejść do dodania odpowiednich nagłówków.
Jak pamiętasz u nas będą 3, więc od razu je sobie tutaj dodaję
i muszę teraz przekopiować po prostu ręcznie te wartości, czyli content type.
Będzie to application JSON.
Kolejne.
To miejsce.
I jeszcze autoryzacja.
OK, jak widzisz. Dzięki Panowie.
Jest to naprawdę bardzo wygodne.
Wiemy jakie nagłówki dodać, jakie wartości tam powinny być, żeby to działało.
Tu mamy jeszcze do wyboru 2 3 boxy.
Możemy zaznaczyć, że te nagłówki są opcjonalne.
W naszym przypadku one nie są opcjonalne i muszą być dodane, aby właśnie
wywołanie takiej metody zadziałało.
Dodatkowo mamy tutaj jeszcze tą opcję private i to nie oznacza, że
to jest po prostu prywatne. Nie będzie widoczne.
Oznacza to tylko tyle, że jeśli właśnie taki checkbox jest tutaj
zaznaczony, to ja z poziomu wywołania potem takiej
akcji z samego edytora Babel nie będę mógł tutaj nic przekazać.
I tutaj znowu tak powinno być, ponieważ nie chcemy tutaj nic zmieniać.
Te wartości muszą być stałe, dodane właśnie do takiego zapytania.
OK, teraz przystąpimy właśnie tutaj do dodania tego całego obiektu JSON,
Johnsona, czyli po prostu tych wszystkich parametrów.
Mogę sobie tutaj to zaznaczyć, przejść tutaj niżej i wkleić
po prostu całą tą wartość.
I teraz musimy się zastanowić, w którym miejscu będziemy przekazywać
jakieś dynamiczne wartości.
Na pewno będzie to email, a więc żeby móc tutaj wstawić coś dynamicznie potem samego
edytora musimy zastosować taki zapis.
I teraz nazwa zmiennej.
Robimy to tutaj oraz tutaj.
Co mamy? Tutaj Mamy.
Tytuł mail testowe To może nie. Zmieńmy to sobie.
Może właśnie na taki stały tytuł maila, czyli w naszym przypadku.
Please wait your last booking.
Następnie tak id templatki zawsze będzie stałe.
Tutaj nie będziemy musieli nic przekazywać, ale te parametry
oczywiście muszą być dynamiczne.
Czyli tutaj będzie name.
Tutaj będzie login link.
A tutaj Listing name.
I teraz zanim przejdziemy do inicjacji takiego właśnie questu, musimy zaznaczyć
jeszcze jeden bardzo ważny checkbox, mianowicie ten.
W ten sposób przepraszam ciotki, musiałem kliknąć i te zmienne mi tu wyskakiwały.
Zaraz sobie te wartości tutaj uzupełnimy.
A ja mówiłem o tym checkbox o tym bardzo ważnym check boxie, czyli
include errors in response.
W ten sposób, jeśli taka metoda zwróci nam jakiś błąd, a często tak się będzie
działo, ponieważ taki serwer aplikacji może być chwilowo niedostępny, coś
tam się może dziać z netem itd.
I my dostajemy error.
To dzięki właśnie temu checkbox owi będziemy mogli sobie to wyłapać
i uruchamiać dalsze workflow.
Często będzie tak, że będziesz właśnie wykonywał jakąś metodę, a na tej podstawie
po prostu dalej coś sobie robił, np.
zapisywał jakieś rzeczy w bazie danych bez tego check boxa.
Takie workflow po prostu jeśli zgłosi błąd to się całkowicie zatrzyma, mimo że
tam dalej będzie 1/2 lub 30 kroków itd.
Dlatego proszę pamiętaj aby zawsze zaznaczać ten checkbox.
I teraz tak.
Tu odznaczamy pivot, ponieważ będziemy przekazywać dynamiczne wartości.
Natomiast żeby zainicjować sobie takie połączenie musimy tutaj
właśnie podać jakieś dane.
I znów wpisuje to po prostu z palca, czyli office małpa.
Z info.
To niech tym razem będzie Henry.
Tu pozostawiamy chwilowo googla.
Potem będziemy sobie to przekazywać dynamicznie.
I listing name. Niech to będzie Sakura i ok.
Teraz mamy już gotowe całe nasze zapytania, a więc możemy
kliknąć w ten button.
Jak widzisz, dostaliśmy właśnie taką odpowiedź.
To jest tak zwany snapshot, czyli Bober sprawdza co będzie dostawał w odpowiedzi
na wysłanie takiego zapytania.
Ponieważ zaznaczyliśmy właśnie to include errors to mamy właśnie o te
tutaj parametry czyli error status code czyli jaki kod dostaliśmy w zwrotce z
takiego zapytania 202 To się zgadza.
Tak było zresztą właśnie tutaj, czyli wszystko się tam wykonało poprawnie.
Jeśli tutaj będziemy mieć jakiś message, to też zostanie zwrócony.
Ważne jest to, czyli czy został zwrócony błąd tak lub nie.
Dostaniemy odpowiednią odpowiedź.
A tutaj body.
U nas nic nie ma, więc możemy sobie zostawić tekst.
Nic się nie dzieje.
W ten sposób nasza metoda została tutaj odpowiednio ustawiona.
Mogę kliknąć sobie save.
I teraz skoro ona już tutaj działa, została dodana, to możemy ją
sobie teraz wywołać w aplikacji. A jak to zrobić?
Przechodzę tutaj na stronę Scratch PAD.
Tutaj do Workflow skopiowałem sobie to wcześniejsze,
które mieliśmy tam z Androidem.
Zablokowałem je potem poprzez Disable Workflow i teraz mogę
właśnie tutaj dodać kolejne.
Zaczynam wpisywać maile Send.
Jak widzisz mamy tutaj już naszą przygotowaną akcję
i ponieważ oznaczyłem private przy tych parametrach mogę tu przekazywać
dynamiczne wartości.
Zostawmy sobie maila.
Zostawmy tutaj Henry'ego.
Może dodajmy tutaj login link do naszej strony logowania,
Czyli mogę sobie skopiować, tak?
I to nie będzie skrypt tylko sign up.
Tak się nazywa nasza strona, a w zasadzie sign in strona logowania i wstawiamy tutaj
może jakiś listing name dowolnego bookingu czyli Search for booking
random item Listing.
Ja oczywiście name.
W ten sposób przekazujemy dynamiczne wartości, czyli dokładnie to samo co
robiliśmy w przypadku akcji z pluginu Send Grida.
Tu po prostu sami tworzymy sobie taką akcję.
Teraz mogę sprawdzić czy to zadziała.
Przechodzę do podglądu, a w zasadzie muszę uruchomić podgląd jako
admin, żeby wyszukać takie booking.
Żeby wstawić tam jakąś wartość czyli run as admin.
Teraz możemy uruchomić nasze nowe workflow Send email.
Wygląda na to, że wszystko jest ok.
Nie otrzymaliśmy tutaj żadnego błędu.
Wróćmy jeszcze do skrzynki odbiorczej.
OK, mamy dwie wiadomości i ta najświeższa powinna tutaj właśnie mieć.
Mordor Fortress? Hell the way.
Czyli wszystko się zgadza.
Ten parametr został tutaj odpowiednio przekazany.
Ta akcja zadziałała właśnie i odpaliliśmy ręcznie właśnie nasze
pierwsze API do aplikacji.
Jak widzisz, podłączenie takiego API rzeczywiście wymagało trochę pracy i
przede wszystkim wiedzy o tym, jak poruszać się po dokumentacji, by na jej
podstawie tworzyć odpowiednie questy.
A i tak koniec końców nie obyło się bez dodatkowych problemów i szukania
właściwych rozwiązań na własną rękę.
Niestety droga dewelopera nie jest usłana różami i często w swojej pracy natrafisz
na takie właśnie sytuacje, gdzie trzeba mocno pogłówkować, by
rozwiązać dany problem.
Grunt to się nie zniechęcać i zaakceptować prosty fakt, że od teraz będzie to po
prostu część Twojej codziennej pracy.
Natomiast zdaję sobie sprawę, że na początku może to być mocno przytłaczające.
Zwłaszcza ten kod, metoda, która musisz nadzorować, przekazywanie
właściwych parametrów podmian itd.
Ale na szczęście możemy sobie nieco ułatwić życie i delikatnie nieco nagiąć
zasady, wykorzystując z naszej pracy dodatkowe narzędzia, którym jest make.
Ale o nim porozmawiamy sobie już bardziej szczegółowo w kolejnej lekcji.
Z mojej strony to wszystko i widzimy się już za moment.