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: 'orders',
  _v: 1541274974010,
  id: 3317888960569993,
  total_paid_tax_excl: 3331000,
  total_wrapping_tax_incl: 0,
  total_credits: 0,
  total_points: 0,
  total_profit_tax_incl: 0,
  id_c: 100000,
  total_tax_gst: 0,
  dine_in: false,
  total_wrapping_tax_excl: 0,
  id_employee: 1,
  total_shipping_tax_incl: 0,
  id_shop: 3173505578310000,
  total_profit_tax_excl: 0,
  currency: 'CZK',
  total_tax_service: 0,
  conversion_rate: 1,
  order_serial_number: 103,
  total_discounts_tax_incl: 0,
  total_shipping_tax_excl: 0,
  total_tax_eco: 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: 0
}