Beta verzia novej dokumentácie CDESK-u.

Programové bloky

Spôsob vytvorenia programových blokov

Každá operácia v sekcii Definition predstavuje samostatné API volanie voči systému CDESK. Tieto operácie je možné vytvárať na základe existujúcich endpointov, ktoré sú dostupné v Swagger (OpenAPI) dokumentácii CDESK servera.

Odporúčaný postup
Pred samotným vytvorením operácie v Power Automate je vhodné:

  1. Otestovať API volanie v nástroji Postman
    Testovanie v Postmane umožňuje overiť správanie endpointu, jeho vstupných parametrov a analyzovať návratové dáta bez nutnosti úprav konektora.
  2. Overiť autentifikáciu a oprávnenia
    Uistite sa, že API používateľ, pod ktorým sa volanie vykonáva, má dostatočné oprávnenia na danú operáciu. Nedostatočné oprávnenia sa môžu prejaviť chybami 401 Unauthorized alebo 403 Forbidden.
  3. Získať funkčný vzorový URL (sample URL)
    Po úspešnom otestovaní volania v Postmane je vhodné použiť funkčný request URL ako základ pre definíciu operácie v Power Automate.
  4. Importovať alebo manuálne nakonfigurovať operáciu v konektore
    V sekcii Definition sa následne vytvorí nová operácia, do ktorej sa prenesie URL, HTTP metóda, hlavičky, parametre a očakávaná odpoveď.

Získanie API endpointu pomocou Dev Tools (F12)

Ďalšou možnosťou, ako identifikovať správny API endpoint, je využiť vývojárske nástroje priamo v rozhraní CDESK.

Postup je nasledovný:

  1. Prihláste sa do CDESK v prehliadači.
  2. Otvorte vývojársku konzolu pomocou klávesy F12.
  3. Prepnite sa na záložku Network.
  4. V rozhraní CDESK vykonajte požadovanú akciu (napr. vyhľadanie požiadaviek, otvorenie detailu, uloženie požiadavky a pod.).
  5. V zozname sieťových volaní vyhľadajte API request, ktorý danú akciu vyvolal.

Po identifikovaní správneho volania je možné:

  • skontrolovať použitý API endpoint
  • overiť HTTP metódu
  • pozrieť si query parametre, hlavičky a telo požiadavky

Overenie volania v Postmane

Identifikované API volanie sa odporúča následne otestovať v nástroji Postman, kde je možné overiť jeho funkčnosť, správanie a návratové dáta mimo Power Automate. Až po úspešnom otestovaní sa odporúča použiť toto volanie pri vytváraní operácie v sekcii Definition Custom Connectora.

Filtrovanie požiadaviek pomocou SB filtra

Týmto spôsobom je možné získať aj API volania, ktoré využívajú SB filter na strane CDESK. SB filter sa nachádza ako parameter v URL a umožňuje filtrovať dáta už na backendovej strane.

Napríklad pri vyhľadávaní požiadaviek:

  • API endpoint vráti iba tie requesty, ktoré spĺňajú podmienky definované v SB filtri
  • namiesto spracovania celého zoznamu požiadaviek vo flowe
Obrázok 12: Nastavenie SB filtra na strane CDESK
  1. Prejdite do sekcie, v ktorej je dostupné vyhľadávanie, napríklad Requests, a kliknite na ikonu Advanced filter .
  2. V poli filter si vytvoríte vlastný filter na strane CDESK, následne otvoríte Dev console prehliadača (F12)
  3. Prejdete do sekcie Network v Dev console, spustíte nahrávanie akcií, a kliknete v CDESK na tlačidlo Hľadať.
  4. V sekcii Network sa zobrazia API volania vykonané na základe vašej akcie. Identifikujte volanie, ktoré zodpovedá vyhľadávaniu, a kliknite naň.
Obrázok: Detail API volania

V hlavičke volania sa nachádza parameter sb, ktorý má na backendovom API rovnakú funkciu ako filter nastavený v Advanced filter. To znamená, že pri zavolaní API endpointu s daným sb parametrom vráti API iba tie dáta, ktoré vyhovujú zvolenému filtru.

Týmto spôsobom je možné nastaviť filtrovanie pre API endpointy, ktoré podporujú vyhľadávanie, ako napríklad Requests, Work Orders, Address Book, Contacts a ďalšie. Vo všetkých prípadoch, kde je možné nastaviť filter v používateľskom rozhraní, je možné rovnaké filtrovanie použiť aj na úrovni API volania.

Vytvorenie a testovanie vlastných programových blokov

Pre vytvorenie vlastných programových blokov je potrebné pridať Action v tabe 3. Definition Custom Connectora. Action predstavuje jednu operáciu konektora, ktorá mapuje konkrétne API volanie voči systému CDESK. Každá Action definuje:

  • cieľový API endpoint
  • použitú HTTP metódu
  • vstupné parametre (URL, query, headers, body)

Z pohľadu Power Automate sa Action správa ako samostatný funkčný blok, ktorý je možné použiť v cloudových flowoch rovnako ako natívne konektory.

Obrázok 13: Vytvorenie Action/Programového bloku

V rozhraní Custom Connectora prejdite do záložky 3. Definition. Kliknite na tlačidlo New action.

Obrázok 14: Vyplnenie základných údajov o Programovom bloku

Je potrebné vyplniť nasledovné informácie o Programovom bloku:

  1. Summary – výstižný popis bloku, zobrazuje sa pri používaní vo Flow
  2. Description – Jednoduchý interný popis, vhodné ak viac blokov používa rovnaké API volanie
  3. Operation ID – Interné operation ID pre power automate, musí byť jedinečné, začína veľkým písmenom

Následne pre nastavenie API volania kliknite na 4. Import from sample.

Obrázok 15: Importovanie detailov API volania

1. HTTP metóda (Verb)

V tejto časti sa vyberá HTTP metóda, ktorá určuje typ vykonávanej operácie voči CDESK API. Zvolená metóda musí zodpovedať definícii endpointu v Swagger dokumentácii CDESK.

2. URL

Pole URL obsahuje úplnú adresu API endpointu, ktorý bude volaný.

V prípade potreby dynamickej práce s URL volania je možné v adrese definovať premenné, s ktorými je následne možné pracovať v rámci Power Automate flow. Tieto premenné sú pri použití operácie vyplňované dynamickým obsahom alebo hodnotami získanými z predchádzajúcich krokov.

Napríklad pri práci s konkrétnou požiadavkou je potrebné, aby bolo v URL dynamicky priradené ID požiadavky. Z tohto dôvodu je pri vytváraní operácie potrebné definovať URL v nasledujúcom tvare:

https://cdesk_address.xx/api/request/{requestId}

Pri takejto definícii je možné s premennou requestId ďalej pracovať vo flow, napríklad iterovať zoznamom viacerých požiadaviek a volať každú z nich samostatne.

3. Headers

V tejto časti sa definujú HTTP hlavičky odosielané spolu s požiadavkou.
Napríklad:

  • Content-Type: application/json

Autorizačná hlavička (Authorization) sa neuvádza manuálne, keďže je automaticky spravovaná mechanizmom OAuth 2.0 a upravená pomocou vlastného kódu v konektore.

4. Import Tlačidlo Import slúži na vytvorenie novej Action na základe zadaných údajov. Po jeho stlačení Power Automate vytvorí základ definície operácie, ktorú je možné ďalej upravovať. Týmto spôsobom je možné rýchlo vytvárať nové operácie bez nutnosti manuálneho zadávania všetkých detailov.
Obrázok 16: Overenie správnosti údajov a otestovanie API volania

Po importovaní sa vami zadané údaje zobrazia v tabuľke Request. Ak sú údaje správne, kliknite na tlačidlo Update Connector, následne sa presuňte do tabu 5. Test.

Obrázok 17: Otestovanie vytvoreného programového bloku

1. Vytvorenie a výber Connection

V hornej časti obrazovky je potrebné vytvoriť alebo vybrať Connection, ktorá sa používa na autentifikáciu voči CDESK serveru. Ak ešte neexistuje žiadna connection, je možné ju vytvoriť kliknutím na New connection.

V prípade, že je dostupných viacero connections, je vhodné zvoliť najnovšiu connection podľa času vytvorenia, aby sa predišlo používaniu neaktuálnych alebo neplatných prihlasovacích údajov.

2. Výber operácie

V ľavej časti obrazovky sa nachádza zoznam dostupných API volaní konektora. V tomto prípade API volanie Profile.

3. Spustenie testu

Po výbere operácie je možné spustiť jej testovanie kliknutím na tlačidlo Test operation. Power Automate v tomto kroku vykoná reálne API volanie na CDESK server pomocou zvolenej connection.

4. Vyhodnotenie odpovede

Výsledok testu je zobrazený v spodnej časti obrazovky v sekcii Response. Status 200 indikuje úspešné vykonanie operácie. Zobrazené sú HTTP hlavičky aj telo odpovede. Zelený krúžok pri operácii potvrdzuje, že volanie prebehlo úspešne a konektor funguje správne.

V tomto prípade sme zavolali API endpoint Profile, ktorý nám vrátil informácie o aktuálnom prihlásenom používateľovi. V response môžete nahliadnuť do poľa Body, kde bude zobrazené aktuálne ID používateľa a overiť si že konektor vykonáva API volania pod správnym CDESK účtom.

V prípade chyby je možné detailne analyzovať odpoveď servera a prípadné chyby v záložke Code Logs.