Vytváření vlastních funkcí API

Změníl(a) - Vladimír Koutný

Funkce se vytváří stejným způsobem jako dotazy Ke stažení, pouze s tím rozdílem, že budou poté dostupné i jako API funkce. Stránka, určená pro správu funkcí API, je dostupná v hlavním menu pod položkami Nastavení / Funkce API.

Funkce budou v API dostupné pod URL parametrem function, který se nastavuje v sekci Výstup jako Název funkce.

Název musí být jedinečný a složen pouze z písmen případně i číslic. Kontrola názvu se provádí jak vůči tabulce m01_Query, kde jsou jednotlivé dotazy uloženy, tak vůči seznamu funkcí pro zápis, které budou postupem času přibývat a které jsou uživatelsky needitovatelné.

Pokud je v dotazu použit parametr, je očekáván při volání API funkce v URL adrese. Funkce vrací vždy pole objektů v JSON s takovými atributy, jako jsou sloupce SELECT dotazu v SQL. Funkce se budou spouštět v transakci, která se na konci provedení dotazu vrátí zpět (rollback), pokud bude dotaz obsahovat nějaké úpravy databáze, nebudou provedeny.

Při volání funkce API jsou data vyhledávána v databázi plusPortal, takže název funkce a parametry funkce jsou case insensitive.

Příklad vytvoření API funkce pro výpis seznamu jmen:

  1. Ve stránce Funkce API se stiskne tlačítko Přidat funkci API.
  2. V sekci Označení lze nastavit název, popis a případně ikonu funkce. Tyto informace se budou zobrazovat v seznamu funkcí.
  3. V sekci Získání dat se napíše dotaz, který se bude provádět.
  4. V sekci Výstup se nastaví název funkce, pod kterým bude funkce v API dostupná.
  5. Funkce bude po uložení dostupná v seznamu funkcí, kde si lze (kliknutím na ni) stáhnout CSV soubor.
K tomu, aby byla funkce dostupná i v API, je zapotřebí nastavit právo uživateli. Do té doby by při volání vracelo API chybu 400. Po nastavení práva "Seznam jmen" uživateli, který má i právo Uživatel API, bude funkce dostupná po zavolání API. Volání lze otestovat v programu Postman.

Jiným příkladem může být vytvoření funkce pro výpis průchodů zaměstnance nebo zaměstnanců. Funkci je potřeba vytvořit stejným způsobem jako v příkladu výše. V tomto případě jsou navíc použity parametry.

Při zavolání funkce je zapotřebí tyto parametry zapsat do URL.


Jak hodnotíte článek?