
Flows to potężny silnik automatyzacji typu drag-and-drop do tworzenia przepływów komunikacyjnych. Początkowo pomyśleliśmy o nim jako o rozwiązaniu bez kodu, ale odkryliśmy, że wielu użytkowników może uzyskać naprawdę potężne zachowania, pisząc trochę kodu dla konkretnych przypadków użycia. Te fragmenty kodu mogą znajdować się wewnątrz Flow Builder albo być zewnętrznymi funkcjami w chmurze, takimi jak funkcje AWS Lambda lub Google Cloud Functions.
Business in a box.
Odkryj nasze rozwiązania.
Porozmawiaj z naszym zespołem sprzedaży
To jest prosta demonstracja używająca GoogleCloud Functions i Flows do rozpoznawania obrazów na zdjęciu wysłanym na Telegramie.
Flows i Beyond
Jako deweloper Flows często zastanawiam się, kim są nasi użytkownicy, dlaczego używają Flows i co muszą osiągnąć, aby zrealizować swoje cele; a następnie, które funkcje musimy wdrożyć, aby najlepiej służyć tym użytkownikom.
Flows to potężny silnik automatyzacji typu drag-and-drop do tworzenia przepływów komunikacyjnych. Początkowo stworzyliśmy go jako rozwiązanie no-code, ale odkryliśmy, że wielu użytkowników może uzyskać naprawdę potężne działanie, pisząc trochę kodu do określonych zastosowań. Te fragmenty kodu mogą znajdować się we Flows lub mogą to być funkcje w chmurze zewnętrznych dostawców, takie jak funkcje AWS Lambda czy Google Cloud Functions.
Ciekawy przypadek użycia: Rozpoznawanie obrazu
Na krótki i zabawny przykład pokażę, jak zaimplementować aplikację rozpoznającą hot dogi. Ustawimy przepływ we Flows, który będzie odbierać obrazy od użytkowników i decydować, czy wysłali hot doga, czy nie.
Dla wielu naszych klientów tego typu rozpoznawanie obrazu może być bardzo potężne. Wyobraź sobie, że prowadzisz usługę dostawczą i chciałbyś automatycznie zweryfikować udane dostawy. Podobnie jak to, co zamierzam pokazać, możesz użyć danych lokalizacyjnych, zdjęć paczek, a nawet podpisów odbiorców, aby stworzyć przepływ weryfikacji we Flows.
Plan na sukces
Konfigurowanie Google Cloud Function
Najpierw musimy skonfigurować funkcję w chmurze. Aby szybko rozpocząć, utwórz funkcję w chmurze, korzystając z tego poradnika: https://cloud.google.com/functions/docs/quickstart-console. Jako „Trigger” wybierz HTTP trigger, środowisko wykonawcze: Node.js 10, a w polu kodu źródłowego wstaw fragment kodu. To prosty kod, który sprawdza, czy żądanie zawiera kod JSON i odpowiada tak lub nie.

Następnie musisz wdrożyć tę funkcję. Aby przetestować ją w ramach Google Cloud Platform, postępuj zgodnie z krokami z poradnika.
Aby przetestować z poziomu przeglądarki, przejdź do następującego URL, wstawiając konkretny adres dla swojej funkcji:
https://your-function-address.cloudfunctions.net/HotDogOrNot/?url=hello
powinno zwrócić {“isHotDog”: true} a adres https://your-function-address.cloudfunctions.net/HotDogOrNot
powinno zwrócić {“isHotDog”: false}.
Dobra robota! Skonfigurowałeś funkcję Google w chmurze. Teraz musimy uczynić naszą funkcję w chmurze inteligentniejszą.
Konfigurowanie Google Vision API
Aby uczynić go bardziej inteligentnym, dodajmy rozpoznawanie obrazów. W tym celu wykorzystamy Google Vision API. Aby rozpocząć, wykonaj kroki 1-4 tego poradnika: https://cloud.google.com/vision/docs/quickstart-client-libraries. W poradniku aktywujesz Vision API i tworzysz konto usługi, aby go używać.
Teraz wróć do funkcji chmurowej, którą utworzyłeś. Przełącz opcję „Environment variables, networking, timeouts and more” (zmienne środowiskowe, sieć, limity czasu i inne) i w pliku „Service account” wybierz utworzone właśnie konto usługi VisionAPI. Teraz możemy uzyskać dostęp do Vision API w naszej funkcji.

Teraz zmieńmy kod. Na karcie „Package.json” wstaw ten kod. Doda to bibliotekę Google Vision API jako zależność do twojej funkcji.
Na karcie "Index.js" zaktualizuj istniejący kod poniższym fragmentem kodu.

Jaka jest różnica w porównaniu do poprzedniej wersji? Dodaliśmy żądanie do VisionAPI, które zwraca „etykiety”, które znalazło na obrazie. Następnie filtrujemy te etykiety według opisu: jeśli zawiera „hot dog” i jeśli ma ponad 60% pewności w tej etykiecie. Jeśli po filtracji pozostanie co najmniej 1 etykieta, oznacza to, że znaleźliśmy hot doga na obrazie.
Aby zrozumieć, jak działa Google VisionAPI i jak wygląda ich odpowiedź, zapoznaj się z dokumentacją, https://cloud.google.com/vision/docs
Po tym, wdroż nową wersję naszej funkcji. Aby ją przetestować z przeglądarki, znajdź dowolny obraz hot doga i zapisz jego URL. Teraz przejdź do URL twojej funkcji (wstawiając poprawny adres dla twojej funkcji) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
i zamień „url_to_image” na URL do znalezionego obrazu. Jeśli na obrazie jest hot dog, strona zwróci {„isHotDog”: true}.
Teraz połączmy tę funkcję z Flow Builder.
Tworzenie flow w Flows
Zaloguj się do Bird Dashboard lub zarejestruj się, aby utworzyć konto, jeśli jeszcze go nie masz.
Jeśli jesteś nowy w Flows i nie masz żadnych skonfigurowanych kanałów, musisz przejść do strony konfiguracji kanału i wybrać skonfigurowanie kanału Telegram. Wybrałem Telegram do tego dema, ponieważ jest łatwy i szybki do skonfigurowania.

Teraz masz kanał, którego możemy użyć w Flows. Przejdź do strony Flows, utwórz nowy niestandardowy przepływ i wybierz wyzwalacz kanału „Telegram”.

Zostaniesz przekierowany na stronę przepływu, gdzie powinieneś wybrać swój kanał Telegram jako wyzwalacz, w naszym przypadku to „Hotdog”. Dodaj 2 kroki: „Fetch variables” i „Reply to channel message”.
W kroku „Fetch variables” wywołamy naszą funkcję w chmurze i pobierzemy odpowiedź do zmiennej „isHotDog”, która zawiera „true” lub „false” jako odpowiedź z funkcji GoogleClound. W polu URL wstaw URL do swojej funkcji https://your-function-address.cloudfunctions.net/HotDogOrNot
i uzupełnij wszystkie pozostałe pola zgodnie z obrazkiem "Fetch variable step content".
W kroku „Reply to channel message” odpowiedzimy klientowi wiadomością zawierającą odpowiedź tak lub nie. W tym celu wstaw w polu "Reply with message" następujący tekst: "Hotdog na obrazku? {{isHotDog}}".


Jeśli masz jakiekolwiek problemy z tworzeniem przepływu, możesz użyć poniższego fragmentu:

Aby go przetestować, wyślij obraz do swojego bota Telegram.
Jak dotąd wygląda fajnie! Stworzyliśmy małego chatbota, który sprawdza obrazy wysyłane przez klientów. Aby uczynić go ładniejszym, dodajmy kilka kolejnych kroków, jak pokazano poniżej:

Jeśli masz jakiekolwiek problemy z tworzeniem przepływu, możesz użyć poniższego fragmentu:
Wyniki


Chociaż jest to zabawny przykład, wierzymy, że tego typu funkcjonalność może być bardzo przydatna dla naszych użytkowników.
Jeśli chcesz, aby w Flows było więcej takich funkcji, napisz do naszego zespołu wsparcia, aby nas o tym poinformować.