Cez REST API je možné s uživateľskými dotazmi pracovať bežným spôsobom ako s každou inou evidenciou — na adrese /c/{firma}/uzivatelsky-dotaz. Okrem toho je možné uložený dotaz aj zavolať a získať jeho výsledok.
Volanie dotazu
Najjednoduchší dotaz — teda ten, ktorý nemá parametre, alebo majú všetky parametre postačujúce predvolené hodnoty — zavoláte takto:
GET https://demo.flexibee.eu/c/demo/uzivatelsky-dotaz/1/call.xml
Číslo 1 zodpovedá ID daného uživateľského dotazu; namiesto ID je možné uviesť aj jeho skratku v tvare code:ZKRATKA. Výstupný formát určíte príponou .xml alebo .json a fungujú obvyklé parametre pre úroveň detailu aj stránkovanie.
Výsledok dotazu sa vracia v elemente DotazView, ktorého vlastnosti zodpovedajú stĺpcom definovaným pri dotaze:
{
"winstrom": {
"@version": "1.0",
"DotazView": [
{
"nazev": "ABRA Flexi s.r.o.",
"sloupec": "dic",
"puvodni_hodnota": "CZ28019920",
"zmenena_na": "",
"uzivatelem": "admin",
"datcas": "2021.09.09 - 13:59:50"
}
]
}
}
Parametre dotazu
Ak má dotaz parametre, uveďte pre každý z nich parameter v URL. Ak má dotaz napríklad parameter datum, volanie vyzerá takto:
GET .../uzivatelsky-dotaz/1/call.xml?datum=2012-01-01
Ak má parameter dotazu mohutnosť N, teda je možné zadať viacero hodnôt, stačí parameter v URL zopakovať — napríklad pre výber niekoľkých firiem:
GET .../uzivatelsky-dotaz/1/call.xml?firma=code:FIRMA1&firma=code:FIRMA2
V uloženom dotaze potom použite operátor IN (<<firma>>).
ℹ️ Hodnoty parametrov sa zapisujú obvyklým spôsobom a neuzatvárajú sa do úvodzoviek. Nezabudnite na správne zakódovanie v URL.
Odovzdanie parametrov metódou POST
Okrem GET je možné dotaz zavolať aj metódou POST, ktorá umožňuje odovzdať aj veľký počet parametrov v tele požiadavky. Parametre je možné odovzdať tromi spôsobmi.
V JSON štruktúre
POST .../uzivatelsky-dotaz/code:TEST_JSON_PARAMS/call.json
Content-Type: application/json
{
"param1": "hodnota1",
"param2": "hodnota2",
"param3": 123
}
V XML štruktúre
POST .../uzivatelsky-dotaz/code:TEST_XML_PARAMS/call.xml
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<winstrom>
<param1>hodnota1</param1>
<param2>hodnota2</param2>
<param3>123</param3>
</winstrom>
Ako form data
Parametre je možné poslať aj ako application/x-www-form-urlencoded. V tomto prípade nesmie byť v URL prípona formátu — výstupný formát určte hlavičkou Accept:
POST .../uzivatelsky-dotaz/code:TEST_PARAMS/call
Content-Type: application/x-www-form-urlencoded
Accept: application/json
param1=hodnota1¶m2=hodnota2¶m3=888
⚠️ Ak pošlete form data na adresu s príponou, server sa pokúsi telo rozobrať ako JSON či XML a odpoveďou je 400 — Failed to parse JSON body, respektíve Failed to parse XML body.
Tlač uloženého dotazu
Uložené dotazy je možné aj tlačiť. Pre každý uložený dotaz je nutné vytvoriť vlastnú tlač a pri dotaze ju vybrať; tlač potom je možné volať aj cez REST API — postup popisuje článok Export tlačových zostáv.
