Skip to main content

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.

Screenshot-from-2020-10-19-12-50-48.png

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

{
  _t:"_t": 'orders'"orders",
  _v:"_v": 1541274974010,
  id:"conversion_rate": 1,
  "currency": "CZK",
  "dine_in": false,
  "id": 3317888960569993,
  total_paid_tax_excl:"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_wrapping_tax_incl:"total_paid_tax_excl": 3331000,
  "total_paid_tax_incl": 3331000,
  "total_points": 0,
  total_credits:"total_products": 32,
  "total_profit_tax_excl": 0,
  total_points:"total_profit_tax_incl": 0,
  total_profit_tax_incl:"total_shipping_tax_excl": 0,
  id_c: 100000,
  total_tax_gst:"total_shipping_tax_incl": 0,
  dine_in: false,
  total_wrapping_tax_excl:"total_tax_eco": 0,
  id_employee: 1,
  total_shipping_tax_incl:"total_tax_gst": 0,
  id_shop: 3173505578310000,
  total_profit_tax_excl:"total_tax_luxury": 0,
  currency: 'CZK',
  total_tax_service:"total_tax_pst": 0,
  conversion_rate: 1,
  order_serial_number: 103,
  total_discounts_tax_incl:"total_tax_service": 0,
  total_shipping_tax_excl:"total_tip": 0,
  total_tax_eco:"total_wrapping_tax_excl": 0,
  total_tax_luxury: 0,
  total_tax_pst: 0,
  id_cash_register: 3173505578999348,
  total_paid_real: 3331000,
  id_shift: 3317259000928416,
  total_paid_tax_incl: 3331000,
  id_employee_served: 1,
  total_tip: 0,
  total_products: 32,
  id_park_location: 3227505427363220,
  total_discounts_tax_excl:"total_wrapping_tax_incl": 0
}