Dokumentace API Varia Online
Stručné shrnutí obsahu článku
►Swagger je nástroj používaný pro práci s REST API ve Variu Online. Pro jeho zprovoznění je třeba zkopírovat složku Public do cesty <SlozkaVariaOnline>\Altus.Vario.Host\Views.
►Autorizace do Varia probíhá pomocí tokenu, který se generuje po zadání správných přihlašovacích údajů (LoginName, Password, CompanyNumber). Tento token se pak použije pro autorizaci ve Swaggeru.
►Dotazy do Varia
Příklady dotazů
- Vystavení zakázky
- Vytvoření faktury
- Úprava dokladu
- Vytvoření nového kontaktu
- Načtení informací z katalogu
►getDataSetView umožňuje získání dat z Varia pomocí SQL dotazů.
PODROBNĚ
Obsah
- Nástroj Swagger
- Zprovoznění Swaggeru ve Variu Online
- První spuštění Swaggeru
- Autorizace do Varia
- Příklady řešení jednotlivých dotazů do Varia
- getDataSetView
- Související dokumenty
Pro hledání informací na stránce použijte
nebo stránku pro hledání.
Nástroj Swagger
Práce s API Varia Online je možná přes nástroj Swagger, který je implementován přímo ve Variu Online. Swagger se používá pro REST API a obsahuje i základní dokumentaci.
Zprovoznění Swaggeru ve Variu Online
V cestě:
najděte složku s názvem Public.
Tuto složku zkopírujte do cesty:
- Nyní by měl Swagger začít fungovat.
První spuštění Swaggeru
K URL Varia Online doplňte:
Příklad
Pokud vaše Vario Online otevíráte z umístění https://vario-online, Swagger otevřete na adrese https://vario-online/public/swagger
Dialog vypadá takto:
Autorizace do Varia
- Zkontrolujte, že v poli Servers je hodnota / a ne například /varioapps
- Klikněte na
- Zde vyplníte request body:
- LoginName – login, kterým se přihlašujete do Varia.
- Password – heslo, kterým se přihlašujete do Varia.
- CompanyNumber – číslo firmy ve Variu, ke které se přihlašujete.
Příklad
{
"LoginName": "Aleš Novotný ",
"Password": "SloziteHeslo123",
"CompanyNumber": 1
}
- Stiskněte tlačítko Execute
- Pokud jste zadali správné údaje, vygeneruje se vám token pro přihlášení do Varia, který zkopírujete bez uvozovek.
- Token (bez uvozovek) zkopírujte do pole Value a kliknete na tlačítko Authorize.
Příklady řešení jednotlivých dotazů do Varia
QUERY | PUT |
---|---|
Čtení z databáze (read) | Zápis do databáze (insert, update) |
- Vystavení zakázky
///OBR 05
- Vytvoření související faktury k zakázce
- Úprava existujícího dokladu (text) – (záleží na typu dokladu)
- Faktura – IncomingInvoice
- Dobropis – IncomingCreditNote
- Objednávka – IncomingOrder
- Úprava existujícího dokladu (přidání položky) – (viz předchozí bod)
- Změna stavu položky – (prozatím nelze)
- Vytvoření nového kontaktu
- Úprava kontaktu
- Vytvoření katalogové karty – (prozatím nelze)
- Načtení informací z katalogu dle některého pole – (pro tento účel není k dispozici specifická funkce, ale můžete použít getDataSetView)
- Načtení vybrané informace napříč Variem pomocí SQL dotazu je technicky neproveditelné. Mimo Swagger lze však načíst zobrazení pomocí getDataSetView, přičemž výstup je ve formátu JSON.
getDataSetView
Způsob použití funkce getDataSetView.
Získání tokenu
Headers
X-Requested-With: XMLHttpRequest
Accept: application/json
Content-Type: application/json
Body
- LoginName – je uživatelské jméno do Varia Online.
- Password – je uživatelské heslo do Varia Online.
- CompanyNumber – udává číslo firmy v databázi. Pro testování bývá založena testovací firma.
Získání dat
GET https://<vario_Online>/Api/GetDatasetView? |
Agenda=Katalog&DatasetViewKey=Katalog%2Ftest&Pager.PageIndex=0&Pager.PageLength=100&Pager.SortColumn=Cena&Pager.CriteriaSet=%5B%5B%7B"Operator"%3A |
10%2C"Property"%3A"Cena"%2C"Value"%3A"95"%7D%5D%5D |
- Pro lepší čitelnost je možné použít URL Decode.
Headers
X-Requested-With: XMLHttpRequest
Accept: application/json
Content-Type: application/json
Authorization: Token
Rozepsání URL Adresy
https://<vario_Online>/Api | adresa serveru |
GetDatasetView?Agenda=Katalog | výběr agendy |
&DatasetViewKey=Katalog%2FTest | výběr zobrazení |
&Pager.PageIndex=0&Pager.PageLength=100 | Definice stránkování |
Pager.CriteriaSet=%5B%5B%7B"Operator"%3A10%2C"Property"%3A"Cena"%2C"Value"%3A" 95"%7D%5D%5D (Je k tomu potřeba URL decode/encode) | |
Pager.SortColumn=Cena | Řazení |
&Pager.CriteriaSet=[[{"Operator":10,"Property":"Cena","Value":"95"}]] | viz příklady 1 a 2 |
Příklad kritéria v Operatoru se rovná 10
- Jestliže sestavíte CriteriaSet takto:
…výsledek bude filtrovaný podle hodnoty v poli Cena a hodnota musí být větší nebo rovna 95.
- Ve výsledku potřebujete pouze hodnoty, kde cena je nižší než 2000. Kritérium bude vypadat takto:
Seznam všech operátorů
// Bitwise Operators
BitwiseAnd = 1,
Or = 2,
NotAnd = 3,
NotOr = 4,
XOr = 5,
// Comparison Operators
Equal = 6,
NotEqual = 7,
LessThan = 8,
LessThanOrEqual = 9,
GreaterThan = 10,
GreaterThanOrEqual = 11,
// String Operators
StartsWith = 12,
Contains = 13,
EndsWith = 14,
NotStartsWith = 15,
NotContains = 16,
NotEndsWith = 17,
// Database Operators
Like = 18,
NotLike =