Skip to main content

Propojojení na interní informační systém zákazníka

Aplikace KASA FIK umožňuje dynamicky integrovat webové aplikace zákazníka pomocí integrovaného tlačítka nebo funkční klávesy.

Funkce je dostupná pouze s licencí PREMIUM

custom-button.gif

Princip funkce - workflow

  • Uživateli se zobrazí nové nastavitelné tlačítko na hlavní obrazovce
  • Po klepnutí na tlačítko se načte webová aplikace, která je plně pod kontrolou zákazníka
  • Ve webové aplikace může být umístěno tlačítko, které po kliknutí přenese uživatele zpět do aplikace a vyplní automaticky účtenku
  • KASA FIK provede zaúčtování EET případně platbu kartou
  • Integraci lze nastavit i na funkční klávesu při prodeji
  • Informace o vystavení účtenek lze získat přes Webhook API

Ukázková stránka

Vytvořili jsme ukázkovou stránku, ve které můžete vidět funkce, které lze využít při práci v aplikaci a návrtatu hodnot.

Příklad poskytnutých parametrů v URL:

partner_code=XXXXX&utm_source=app-com.eetterminal.pos&utm_medium=app&utm_campaign=fik-integration&app_flavor=fik&app_version=1.181-beta12-debug&app_version_code=181&app_lang=cs&shop_id=848428671200000&cash_register_id=2044577243700000&shift_id=5132358187320000
Query String poskytnutý při volání URL
  • partner_code - Partnerský kód, pokud je nastaven
  • utm_source - Google UTM měřící kód. Hodnota "app-com.eetterminal.pos"
  • utm_medium - Google UTM měřící kód. Hodnota "app"
  • utm_campaign- Google UTM měřící kód. Hodnota "fik-integration"
  • app_flavor - Typ aplikace- Hodnota "fik"
  • app_version - Textový popis verze aplikace. Např. 1.180-beta1
  • app_version_code - Kód verze aplikace např. 180
  • app_lang - Jazyk, ve kterém je nastavena aplikace (cs pro češtinu)
  • global_customer_id - Globální ID zákazníka
  • shop_id - ID pobočky
  • cash_register_id - ID pokladny
  • shift_id - ID současné směny - Hodnota 0 pro uzavřenou směnu
  • employee_id - ID aktuálně přihlášeného zaměstnance. Hodnota 0 pokud není nikdo přihlášen
  • user_email - Email pod kterým je evidována pokladna

Specifikace integrace

Aplikace načte uživatetem přednastavené URL, které obohatí o Query String s dalšími parametry. Rozšíří Javascript funkce o interface window.FikApiInterface který obsahuje metody použitelné k propojení nativní Android aplikace s webovou.

if (window.FikApiInterface){
    window.FikApiInterface.logError('heyho'); // log error message to android console
    window.FikApiInterface.logInfo('heyho'); // log info message to android console
    window.FikApiInterface.setTitle(document.title); // sets title of the window
    window.FikApiInterface.showToast('heyho'); // shows small toast notification
    // window.FikApiInterface.finish(); // Will close the window without any result
    // window.FikApiInterface.finishWithReceipt(JSON.stringify(obj)); // return back to the app with receipt data
} else {
  // Not loaded within Fik Webapp container
}

Návrat účtenky do aplikace

Zavolejte metodu window.FikApiInterface.finishWithReceipt(JSON.stringify(obj)) s následujícim JSON objektem:

{
  "invoice_number": 20130001, // optional, will be generated if not provided
  "note": "strestt", // optional
  "items": [
    {
      "plu": "203", // optional
      "note": "Item optional note" // optional
      "name": "Item number 203",
      "price_without_vat": 112.0,
      "quantity": 1.0,
      "vat_rate": 1.21
    }
  ]
}

Poznámky k poskytovanému objektu:

  • Hodnota musí být JSON.stringify(), protože Web integrace neumožňuje přenášet objekty. 
  • Pokud je vše v pořádku, aplikace uzavře integraci a přenese uživatele do režimu vystavení účtenky
  • Pokud nebude vyplněná hodnota invoice_number aplikace vygeneruje standarně podle číselné řady (doporučené)
  • DPH je v desetinném formátu, tedy 1.21, 1.10, 1.00 - nevyplňujte, pokud se jedná o neplátce

Nastavení expirace a vliv na cache (expire)

Webová integrace respektuje správné nastavení cache hlavičky pro ukládání do paměti prohlížeče. Nastavíte-li správné Expire v HTTP hlavičce, bude se respektovat.

Aplikace má také podporu pro ukládání databází a Webstorage.