Webhook Integrace API
Webhooky umožňují zasílání dat z pokladny/backoffice pomocí HTTP volání informovat o každé události (např. vystavení účtenky, založení zákazníka). Zpracováním webhooků si můžete měnit chování stránky nebo aplikace a rozšiřovat je o nové funkce.
Webhooky lze nastavit v Backoffice v Nastavení - Systém - Webhooky. Zadejte https:// adresu kam systém má zasílat data. Nastavení uložte tlačítkem Uložit. Pak následně může trvat nějaký čas, než systém začne automaticky data zasílat. Nové nastavení může trvat až 1-2 hodiny, než se projeví nastavení skrz systémy.
Formát zasílaných dat
- Data jsou zasílána ve formátu JSON objektu a metodou POST.
- Přijímací server musí odpovědět návratovým kódem 200
- Jednotlivé záznamy (objekty) jsou zasílány zvlášť a není garantované pořadi doručení
- Každý záznam má následující povinné pole
- _t - Jedná se o název tabulky/typu záznamu, jako je "orders, order_details, products, ..."
- _v - Verze v Unix timestamp kdy byl záznam změněn
- id - unikatní ID záznamu
- Pokud záznam obsahuje monetární data (ceny, hodnoty prodeje atd) tak jsou vyjádřeny jako celé číslo (int) vynásobené 1000. Např. cena 3 331,000 Kč je vyjádřena jako 3331000
Příklad zaslaného objektu orders
{
"_t": "orders",
"_v": 1541274974010,
"conversion_rate": 1,
"currency": "CZK",
"dine_in": false,
"id": 3317888960569993,
"id_c": 100000,
"id_cash_register": 3173505578999348,
"id_employee": 1,
"id_employee_served": 1,
"id_park_location": 3227505427363220,
"id_shift": 3317259000928416,
"id_shop": 3173505578310000,
"order_serial_number": 103,
"total_credits": 0,
"total_discounts_tax_excl": 0,
"total_discounts_tax_incl": 0,
"total_paid_real": 3331000,
"total_paid_tax_excl": 3331000,
"total_paid_tax_incl": 3331000,
"total_points": 0,
"total_products": 32,
"total_profit_tax_excl": 0,
"total_profit_tax_incl": 0,
"total_shipping_tax_excl": 0,
"total_shipping_tax_incl": 0,
"total_tax_eco": 0,
"total_tax_gst": 0,
"total_tax_luxury": 0,
"total_tax_pst": 0,
"total_tax_service": 0,
"total_tip": 0,
"total_wrapping_tax_excl": 0,
"total_wrapping_tax_incl": 0
}