ABRA API Tutoriál - Autentizace a kontrolní dotaz
Spustíme Postman (HTTP klient používaný v našem návodu). Nejprve si předvedeme, jak se k Web API přihlašují uživatelé (každý požadavek musí obsahovat přihlašovací údaje, protože každý může pocházet od jiného uživatele). Poté si vyzkoušíme několik základních operací.
Na záložce Authorization zvolíme metodu Basic Auth a vyplníme přihlašovací jméno (Supervisor) a heslo (prázdné).
Pokud by nebyla autentizace úspěšná (nezadané nebo nesprávné uživatelské jméno/heslo apod.), poznáte to po provedení prvního kontrolního dotazu, viz dále a viz TEST.
Zvolíme metodu GET a zadáme URL sestavenou následovně:
/{spojení}/{kolekce Business objektů}
Tj. v našem případě následovně ("data" je identifikátor, který jsme uvedli jako alias našeho spojení a receivedorders je název kolekce BO objednávek):
http://localhost:8082/data/receivedorders
V URL je třeba uvést i port 8082, jelikož jsme si jej nastavili v konfiguraci jako port, na kterém server naslouchá. V případě, že jsme v konfiguraci žádný port nenastavili, není zapotřebí port uvádět, neboť defaultní port pro Web API (80) je současně defaultním portem protokolu HTTP. Bez uvedení portu se požadavek zašle na localhost:80.
Požadavek odešleme tlačítkem Send. Pokud bylo vše správně zadáno, obdržíte odpověď dle následujícího obrázku:
Vidíte, že se jedná o JSON pole, které obsahuje objekty, které jsou v dané kolekci dostupné (zohledňují se přístupová práva k chráněným objektům, tj. např. řadám dokladů).
Pozor, pokud načtete kolekci výše uvedeným dotazem, bez specifikace jakýchkoli dalších parametrů (což si ukážeme dále v sekci dotazování pomocí query parametrů), jsou vráceny úplně VŠECHNY objekty v dané kolekci. Tzn. není nejvhodnější se dotazovat tímto způsobem do produkčních dat obsahujících velké množství záznamů. Ve výchozích předpokladech v kap. ABRA API Tutoriál - Nastavení a příprava rozhraní Web API bylo doporučeno, abyste pracovali nad spojením s nahranými demodaty.
Ve výchozím stavu takto provedený dotaz vrací všechny persistentní položky daného BO. Jak získat i nepersistentní, viz další kap.
Stejným způsobem bychom prováděli další dotazování, které probereme příště.
Dále viz podrobný help. Kap.: Struktura URI a Dotazovací jazyk REST API systému ABRA Gen.
1. Obdrželi jste odpověď systému s daty objednávek, jak ukazuje obrázek níže?
Pokračujte kap. ABRA API Tutoriál - Základní dotazování.
Obdržel jsem následující odpověď:
Je třeba zkontrolovat, zda Web API běží. Dále, zda bylo správně provedeno nastavení a zda jste zadali správně URL adresu. Vraťte se do kap. ABRA API Tutoriál - Nastavení a příprava rozhraní Web API a kap. ABRA API Tutoriál - Spuštění Web API , vše zkontrolujte a pak akci zopakujte dle postupu uvedeného výše.
Obdržel jsem následující odpověď:
Jako v předchozím případě je třeba zkontrolovat, zda rozhraní Web API běží. Mohlo dojít k jeho zdárnému spuštění, ale to již neplatí (např. jste mezitím hybernovali počítač, omylem zavřeli okno příkazového řádku s běžícím Javalinem apod. Vraťte se do kap. ABRA API Tutoriál - Nastavení a příprava rozhraní Web API a kap. ABRA API Tutoriál - Spuštění Web API , vše zkontrolujte a pak akci zopakujte dle postupu popsaného výše.
Obdržel jsem chybovou odpověď:
{"title":"Chyba přihlášení","description":"Uživatel nemá povoleno přihlášení z Webového API"}
Pak nemáte v ABRA Gen u daného uživatele povolen přístup k API. Vraťte se do kap. ABRA API Tutoriál - Nastavení a příprava rozhraní Web API, nastavte mu přístup a akci zopakujte.
Dotaz skončil následující chybou:
Pak jste chybně provedli autentizaci, viz výše. Příčin této chyby může být několik:
- Zadali jste chybné jméno nebo heslo existujícího uživatele.
- Zadaný uživatel neexistuje.
-
Zapomněli jste zadat jméno uživatele.
V tomto případě je chybový status 401 doplněn upřesněním v těle odpovědi:
{"title":"Neproběhlo přihlášení uživatele","description":"Nevalidní operace - pro provedení akce je nutné přihlášení"}
Vraťte se k nastavení přístupu uživatele a zadejte autentizační údaje ještě jednou.
Dotaz skončil následující chybou:
V URL adrese je chybně uvedená adresa zdroje (issueinvoices místo issuedinvoices). Požadavek skončil chybou 404 Not Found.
Pravděpodobně nemáte správně URL adresu - typickou chybou je nesprávně zadaný název zdroje (resource). Zkontrolujte, zda zdroj skutečně existuje.
Stejnou chybou skončí zaslání požadavku v případě, že v URL adrese uvedete chybný název (nebo alias) spojení.