Webhooky aneb automatizace s aplikacemi do terénu
Webhooky jsou široce rozšířená technologie komunikace mezi jinak nezávislými aplikacemi. Esri proto začlenila webhooky i do svých aplikací Survey123 a QuickCapture, které díky tomu získaly schopnost komunikace například s Office 365.
Co jsou webhooky?
Webhooky jsou široce rozšířená technologie, umožňující více aplikacím komunikovat mezi sebou pomocí HTTP POST dotazů. Tato volání je možné upravovat, modifikovat a filtrovat bez nutnosti zasahovat do původních webových stránek nebo aplikací.
Kde se dají využít?
Typické využití webhooků zahrnuje zasílání notifikací prostřednictvím e-mailu nebo SMS, zveřejňování příspěvků na sociálních sítích nebo automatické zápisy záznamů do tabulek. V systému ArcGIS můžeme webhooky používat v aplikacích ArcGIS QuickCapture a ArcGIS Survey123.
Samozřejmě je možné využít vlastního klienta pro webhooky, ale momentálně je dostupných více aplikací třetích stran, které nám napojení webhooků usnadní. Jako příklad je možné uvést Microsoft Power Automate, český Integromat, Zapier nebo tray.io. Každá z nich může být využit pro webhooky v Survey123 nebo QuickCapture. Zejména však Microsoft Power Automate a Integromat obsahují speciální konektory přímo pro Survey123 a QuickCapture, které uživateli připojení do aplikací usnadní.
Příklady využití
Webhooky můžete tedy například využít při sběru dotazníkového šetření pomocí Survey123. Webhook automaticky zachytí odeslaný dotazník a vybrané atributy zapíše do sešitu na vašem účtu Office 365.
Dalším příkladem je pasportizace dřevin přes Survey123. Webhook sleduje odeslané formuláře a aktivuje jej atribut stav dřeviny = Kritický. Jakmile je tento parametr splněn, webhook vytvoří v Survey123 report prvku a ten odešle příslušným uživatelům na e-mail. Zásah u kriticky poškozených dřevin je tedy možné uskutečnit mnohem rychleji.
Modelová situace
Podobnou funkcionalitu je možné si představit i nad aplikací QuickCapture. Modelovou situaci může představovat mapování chodníků podél komunikace, které je doplněno záznamem kvality komunikace v daném úseku. Projekt v aplikaci QuickCapture je tedy postaven zhruba následovně:
Skupiny Chodník a Stav komunikace představují sběr záznamů do liniových vrstev. Pokaždé je možné sbírat z každé kategorie jen jeden typ záznamu. Kategorie Výmol je bodová vrstva, kam je možné zaznamenávat nerovnosti na komunikaci.
Webhook vytvořený z tohoto projektu má za úkol informovat pracovníky správy komunikací o havarijních úsecích komunikace a o kritickém stavu některých výmolů.
Jako klient webhooků je využit český Integromat a jeho konektor na QuickCapture. Vytvoření webhooku je možné po registraci do Integromatu, pro testování a menší projekty stačí i jeho bezplatná verze.
Jako první vytvoříme spojení s projektem v QuickCapture. To bude vyžadovat jednoduché přihlášení do našeho portálu a následně výběr projektu QuickCapture a vrstvu, kterou budeme sledovat.
Dále spojíme náš projekt se službou pro odesílání e-mailů. V našem případě je to Microsoft 365 Pošta, na kterou má Integromat samostatný konektor. Provedeme opět přihlášení do aplikace a nastavíme předmět e-mailu, zprávu e-mailu, příjemce a případné přílohy. Síla webhooku je v tom, že zde dokážeme využít jakékoliv parametry z odeslaného prvku z QuickCapture. Tedy do předmětu můžeme přidat například název projektu a do zprávy souřadnice ohlášeného kritického výmolu. Využít můžeme i některé automatické hodnoty, jako je třeba přesnost GPS v okamžiku sebrání prvků.
To, že budou brány v potaz pouze kritické výmoly, definuje filtr, který je možné nastavit mezi dvěma moduly.
Závěr
Následně již můžeme daný webhook celý aktivovat a od té chvíle začne projektu QuickCapture naslouchat. Jakmile je zaznamenán výmol s atributem Kritický, je odeslán e-mail, který může vypadat například následovně:
Stejně jednoduché je i napojení na aplikaci Survey123, která navíc umožňuje i vytváření reportů od konkrétních prvků. S tím Vám mohou pomoci i následující dvě videa:
- ArcGIS Survey123: Automate Workflows with Integromat
- ArcGIS Survey123: Create Feature Reports with Integromat