API

Iframe embed

Iframe integrace nepotřebuje žádné složité programovaní. Formulář pro vyplnění účtenky lze integrovat do vaší aplikace vložením jako popup okna nebo iframe s url https://vase_domena.eetapp.cz/embed. Parametry pro předvyplnění se předavají http metodou POST. Žádné další zpřístupnění pokladního systému v této variantě není. Máte-li zájem o plnou integraci, použijte JSON RPC.


JSON RPC

Všechny funkce pokladního systému jsou dostupné přes vzdálené volání procedur protokolem JSON-RPC2.
API endpoint POST method : https://vase_domena.eetapp.cz/api

Metody

Systémové funkce
system.login (string $username, string password) : object
Atribut $token v návrátové hodnotě slouží jako autentizaze do dalších metod vyžadující přihlášení.
Autentizační token se dále předává jako HTTP hlavička X-Auth-Token.
system.logout () : bool

Účtenky
receipt.getList (QueryObject $qo) : QueryResult
receipt.fetch (int $id) : Receipt
receipt.delete (int $id) : bool
receipt.save (ReceiptForm $data) : Receipt
receipt.printReceipt (int $id) : bool
receipt.printTest (int $device) : bool

Pokladní kniha
cashbook.getList (QueryObject $qo) : QueryResult
cashbook.fetch (int $id) : Cashbook
cashbook.delete (int $id) : bool
cashbook.save (CashbookForm $data) : Cashbook

Položky
product.getList (QueryObject $qo) : QueryResult
product.fetch (int $id) : Product
product.delete (int $id) : bool
product.save (ProductForm $data) : Product
product.lookup (string $q, int $page) : LookupResult

Report
report.getList (QueryObject $qo) : QueryResult

Pokladny / tiskárny
device.getList (QueryObject $qo) : QueryResult
device.fetch (int $id) : Device
device.delete (int $id) : bool
device.save (DeviceForm $data) : Device
device.lookup (string $q, int $page) : LookupResult

DPH sazby
dph.getList (QueryObject $qo) : QueryResult
dph.fetch (int $id) : Dph
dph.delete (int $id) : bool
dph.save (DphForm $data) : Dph
dph.lookup (string $q, int $page) : LookupResult

Uživatelé
user.getList (QueryObject $qo) : QueryResult
user.fetch (int $id) : User
user.delete (int $id) : bool
user.save (UserForm $data) : User
user.saveProfile (ProfileForm $data) : bool
user.lookup (string $q, int $page) : LookupResult
user.setName (int id, string $value) : bool
user.setSurname (int id, string $value) : bool
user.setActive (int id, string $value) : bool
user.setEmail (int id, string $value) : bool

Nastavení
setting.fetch () : Setting
setting.save (SettingForm $data) : Setting

class QueryObject
Pro dotazovaní se na seznamy se pro popis dotazu používá QueryObject
object $filter - objekt pro filtrování záznamů, každá getList metoda akcepuje jinou množinu atributů
object $sort - objekt s definicí seřazení záznamů, každá getList metoda akcepuje jinou množinu atributů
int $page - požadovaná stránka
int $limit - počet záznamů na stránce

class QueryResult
Výstupnem dotazů na seznamu se objekt QueryResult
array $items - pole záznamů
int $count - celkový počet záznamů
int $page - vybraná stránka
int $limit - počet záznamů na stránce
object $summary - sumační řádek

class LookupResult
Výstupy našeptávače tvoří následující struktura:
array $results - pole záznamů
int $count - celkový počet záznamů
bool $more - je to poslední stránka nebo obsahuje další stránky?