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

Napoveda Pro hledání informací na stránce použijte Pro hledání informací na stránce použijte klávesovou zkratku Ctrl+F 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ě:

<SlozkaVariaOnline>\Altus.Vario.Host\App_Data\Views

najděte složku s názvem Public.

Tuto složku zkopírujte do cesty:

<SlozkaVariaOnline>\Altus.Vario.Host\Views
  • Nyní by měl Swagger začít fungovat.

První spuštění Swaggeru

K URL Varia Online doplňte:

/public/swagger

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:

Swagger a Vario Open API

Autorizace do Varia

  • Zkontrolujte, že v poli Servers je hodnota / a ne například /varioapps
  • Klikněte na

Authentication

  • 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.

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.

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
PUT /openapi/IncomingOrder

Vystavení zakázky – PUT /openapi/IncomingOrder///OBR 05

 

  • Vytvoření související faktury k zakázce
PUT /openapi/OutgoingInvoice

 

  • Ú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
PUT /openapi/KnownParty

 

  • Úprava kontaktu
PUT /openapi/KnownParty

 

  • 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

POST https://<vario_Online>/Authentication/GetAccessToken

Headers

X-Requested-With: XMLHttpRequest

Accept: application/json

Content-Type: application/json

Body

{ "LoginName":"uzivatel", "Password":"1234", "CompanyNumber":4999}
  • 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

  1. Jestliže sestavíte CriteriaSet takto:
&Pager.CriteriaSet=[[{"Operator":10,"Property":"Cena","Value":"95"}]]

…výsledek bude filtrovaný podle hodnoty v poli Cena a hodnota musí být větší nebo rovna 95.

 

  1. Ve výsledku potřebujete pouze hodnoty, kde cena je nižší než 2000. Kritérium bude vypadat takto:
&Pager.CriteriaSet=[[{"Operator":8,"Property":"Cena","Value":"2000"}]

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 =

 

Související dokumenty