Pokud v nabídce integrací nenachází připravený modul, ale aplikace nabízí propojení přes API, je možné integraci vytvořit. To se může hodit i v případě, kdy nabízený modul nefunguje podle představ nebo obsahuje chybu. Tento článek navazuje na předchozí Kontrola Merkem, kde se do modulu Merk sice načtou data o insolvenčním řízení, ale hodnoty nejsou dostupné (dotaz na podporu 21.02.2017).
Jak se připojit k Flexibee jsem psal v předchozích článcích. Pro testování je nejlepší si vytvořit trigger (spouštěč) a uložit do něj IČ.
Vytvoříme modul HTTP (základní, request). Volíme metodu GET a přidáme hlavičku s přihlašovacími údaji. Potřebné údaje jsou v dokumentaci API pro Merk.
Problémy mi dělala podoba, jak má být token uložen v hlavičce. Prvně jsem zadával čistě jen token (hash). Poté jsem v dokumentaci našel, jak má vypadat dotaz přes cURL.
curl -X GET -H ‘Authorization: Token {api_key}’ ‘https://api.merk.cz/company/?regno=14915’
Hlavičku jsem změnil na „Token {api_key}“ s hranatými závorkami. Našel jsem užitečný nástroj na odzkoušení cURL Onlinecurl. Chvíli to trvá, než se to načte. Nakonec jsem to správně zadal bez závorek „Token api_key“.
Výsledek dotazu z HTTP modulu není stejný jako z předpřipraveného. Chybí zde hodnoty z číselníku (pk company_turnover), ke kterým se dostává přes turnover_id. Ten udává, v jakém rozmezí se hodnoty obratu nacházely v daný rok.
Ukládání JSON kolekce do data store
Údaje z číselníku si můžeme stáhnout a uložit do Data store. Existuje více způsobů, tady je jeden z nich.
V HTTP module je vše stejné až na URL https://api.merk.cz:443/enums/company_turnover/.
V Parse JSON zpracujeme Data z requestu. Datovou strukturu necháme nevyplněnou. Parser JSON rozloží v obdržené struktuře i bez toho.
V agregátoru jako zdroj uvedeme JSON parser. A do agregovaných polí musíme ručně odškrtat všechny kolekce z JSON, které tam chceme.
Tady by bylo lepší, kdyby byly typu array, stejně mají stejnou strukturu.
Řádky do Data Store v Integromatu se ukládají po jednom, proto potřebujeme Repeater. Strukturu a údaje znám, proto jsem ho vyplnil nestandardně. A každý ten průchod myslím, že se započítává do placeného limitu. 10 000 průchodů vyjde na 180 CZK. To není moc, ale špatně zadaný Repeater se prodraží.
K Data Storu si připravíme strukturu. To lze snadno překopírováním vzorku z JSON do generátoru struktury. Tu získáme v dokumentaci z výsledku „Try it out“.
A pomocí funkce get, která funguje nejen na array, ale i collection, získáme a ukládáme data do uložiště. (K čemu ta funkce string u indexu?)
Získání dat z Data Store a uložení do tabulky
Vracíme se k původnímu scénáři.
Data z číselníku k historii tržeb získáváme ze 3 modulů. Pro složitější dotazy by byl lepší modul „Search record“ pro jednoduché stačí „Get a record“.
Google tabulka zůstává stejná jako v původním příkladu. Jen ukládáme hodnoty z číselníku z dotazu do uložiště.
První řádek je výsledek ze scénáře z předešlého příkladu. Druhý řádek je z tohoto příkladu.
[google-drive-embed url=”https://docs.google.com/spreadsheets/d/1pTa4aU59Ca-p4VvtmxWyBWG8ohwUBgasV6Kd_A9H9Es/preview?usp=drivesdk” title=”Flexibee Merk Gmail” icon=”https://drive-thirdparty.googleusercontent.com/16/type/application/vnd.google-apps.spreadsheet” width=”100%” height=”160″ style=”embed”]- Aktualizováno: Integrace a komunikace s Flexibee – 05. Uživatelské dotazy
- Aktualizováno: Integrace a komunikace s Flexibee – 06. Přehled pro kontrolu přijatých a vystavených dokladů
- Integrace a komunikace s Flexibee – 01. Dativery – připravené scénáře
- Integrace a komunikace s Flexibee – 02. Integromat – Z objednávky zakázka, poslat Gmail, zapsat do GSheets
- Integrace a komunikace s Flexibee – 03. Kontrola Merkem
- Integrace a komunikace s Flexibee – 04. Integromat – HTTP request do Merk API a Data Store
- Integrace a komunikace s Flexibee – 07. Sestavení účetního deníku
- Integrace a komunikace s Flexibee – 08. Účetní deník se štítky
Budu rád za každou konstruktivní poznámku či připomínku do komentářů pod příspěvkem nebo mě přímo kontaktujte