Přeskočit odkazy

Rozšíření rozhraní online obchodu v softwaru gFM Business ERP

Rozšíření rozhraní online obchodu v softwaru gFM Business ERP

Na základě platformy FileMaker Software ERP Aplikace gFM-Business, která běží v systémech Apple macOS, Windows a iOS, obsahuje integrovanou funkci online obchodu.Rozhraní na základě REST-API, pomocí kterého lze zákazníky, zboží a objednávky z obchodu přenést do gFM-Business pouhým stisknutím tlačítka. gFM-Business také podporuje automatickou synchronizaci skladových zásob se zbožím v internetovém obchodě. Standardní rozsah v současné době zahrnuje systémy obchodu Shopware 5.x, Gambio Podporuje GX3 a WooCommerce pro WordPress.

V rámci otevřené licence od gFM-Business Basic nebo Profesionální rozhraní online obchodu s FileMaker Pro (nebo Advanced) lze také rozšířit o další pole nebo jiný systém online obchodu. V tomto článku vysvětlíme, jak je strukturováno rozhraní online obchodu založené na rozhraní REST API v aplikaci gFM Business a jak jej lze rozšířit o další pole nebo jiný systém obchodu. Dokumentaci všech základních definic a standardů v systému gFM-Business naleznete na adrese zde.


Obecná struktura rozhraní integrovaného internetového obchodu

Rozhraní online obchodu integrované v softwaru gFM Business ERP má jednoduchou strukturu a skládá se z následujících komponent:

Online obchody v modulu "Nastavení"

Všechny online obchody lze nastavit v nabídce [Nastavení > Online obchod]. Základní Tabulka je tabulka "REST_API" ze souboru "gFMw_Stammdaten". Pokud je vytvořen nový internetový obchod, jsou všechna data získána odkazem z tabulky "REST_API_Stamm", která se rovněž nachází v souboru "gFMw_Stammdaten". Pokud je do rozhraní přidán další systém obchodu, měl by být v tabulce "REST_API_Stamm" vytvořen také hlavní datový záznam pro tento systém obchodu, abyste nemuseli při každém použití několika internetových obchodů zadávat všechna data ručně.

settings_onlineshops

Malá verze gFM-Business Basic podporuje ve výchozím nastavení pouze jeden internetový obchod. V zásadě ji lze rozšířit tak, aby gFM-Business Basic umožňoval i použití několika internetových obchodů. K tomu je zapotřebí pouze odpovídající Portál pro výběr internetového obchodu lze implementovat stejně jako ve verzi Professional. Všechny funkce a skripty podporují několik internetových obchodů i ve verzi Basic a není třeba je pro tuto funkci rozšiřovat.

Virtuální stoly

Při výběru zákazníků, zboží nebo objednávek obchodu, které se mají importovat, se ve výběrovém okně zobrazí všechna data dostupná na serveru obchodu. Zde zobrazená data jsou pouze dočasně uložena ve virtuální tabulce v systému gFM Business a po výběru jsou vyřazena. Koncept virtuálních tabulek představil na konferenci FileMaker 2015 Arnold Kegebein. prezentováno. Ve virtuální tabulce se příchozí data neukládají do jednotlivých polí, ale pouze do opakujícího se pole. Počet opakování odpovídá počtu polí, která mají být v tabulce zobrazena, jedna datová věta odpovídá jedné datové větě dodaných dat. Všechny virtuální tabulky jsou umístěny v souboru "gFM_Business.fmp12".

Virtuální tabulka obsahuje následující pole (na příkladu článků):

  • _fk_Article_ID (ID článku z gFM-Business s SQL-dotaz na "_Shop_ID" v hlavním článku. Vyplněno, pokud článek již existuje v gFM-Business)
  • _id_foreign_system (ID externího systému)
  • _sGlobal (Globální klíč, vždy obsahuje hodnotu 1)
  • Výběr (pole pro výběr datového záznamu, který má být přenesen do gFM-Business)
  • Datová pole (Opakující se pole s 6 opakováními pro 6 datových polí z rozhraní, které se zobrazí v tabulce)
  • ID_selection (Vypočtené pole, které ID bylo vybráno)
  • Pole záhlaví  (Opakující se pole s 6 opakováními pro 6 názvů polí z rozhraní, které se zobrazí v tabulce)
  • Object_selection (Vypočítané pole, která pozice byla vybrána jako poslední v souboru výsledků)

Další dvě virtuální tabulky fungují v zásadě stejně, s tím rozdílem, že v tabulce pro objednávky se u existujících datových záznamů kontrolují ID faktury a objednávky, nikoli ID položky, a u zákazníků ID zákazníka.

V souboru "gFM_Business.fmp12" jsou tři virtuální tabulky pro rozhraní internetového obchodu:

  • vt_selection_article (virtuální tabulka pro zobrazení uložených dat článku, pole [datová pole] obsahuje 6 opakování)
  • vt_selection_orders (virtuální tabulka pro zobrazení uložených dat článku, pole [datová pole] obsahuje 9 opakování)
  • vt_selection_customers (virtuální tabulka pro zobrazení uložených dat článku, pole [datová pole] obsahuje 6 opakování)

ID obchodu v tabulkách gFM Business

Všechny příslušné tabulky obsahují následující pole, aby software gFM-Business ERP mohl sledovat, které údaje o internetovém obchodě byly přiřazeny k údajům v systému gFM-Business:

  • _Shop_Id (obsahuje ID odpovídajícího datového záznamu v internetovém obchodě)
  • _Shop_Foreign_system (obsahuje informaci, ke kterému externímu systému ID obchodu patří, protože gFM-Business podporuje používání více obchodů současně)

Tato pole jsou obsažena v následujících tabulkách z aplikace gFM-Business:

  • Mistr článku (hlavní tabulka všech produktů)
  • Zákazníci (hlavní tabulka všech zákazníků)
  • Objednávky (hlavní tabulka všech objednávek)
  • Faktury (hlavní tabulka všech faktur)

Všechny skripty poslouchají "REST"

Všechny skripty spojené s rozhraním internetového obchodu lze nalézt ve vyhledávacím poli v části Skript-editor zadáním "rest". Po dodání se rozhraní skládá z celkem sedmi skriptů:

Všechny skripty rozhraní online obchodu

REST_Query [externí systém|koncový bod|]

Tento skript se používá k přihlášení k Serverna kterém byl internetový obchod nainstalován a je volán s parametry "External system" a "Endpoint". Před provedením dotazu na server internetového obchodu musí být vždy nejprve proveden tento přihlašovací skript, aby se před dotazem přihlásil k serveru.

Nastavení záznamu chyb [ Zapnuto ]

Nastavit UserCancelAllow [ Vypnuto ]

# 

# >>>>>>>>>> PŘENOS HLASU

Nastavení proměnné [ $dg_001 ; Hodnota: SQLAusführen ("SELECT \"Dialog_001\" FROM \"lg\" WHERE \"_fk_ScriptName\"='" & Hole(ScriptName) & "' AND \"_pk_Sprache_ID\"=" & prf::_Sprache_ID ; "" ; "" ) ] 

Nastavit proměnnou [ $dg_002 ; Hodnota: SQLAusführen ("SELECT \"Dialog_002\" FROM \"lg\" WHERE \"_fk_ScriptName\"='" & Hole(ScriptName) & "' AND \"_pk_Sprache_ID\"=" & prf::_Sprache_ID ; "" ; "" ) ] 

Nastavení proměnné [ $dg_003 ; Hodnota: SQLAusführen ("SELECT \"Dialog_003\" FROM \"lg\" WHERE \"_fk_ScriptName\"='" & Hole(ScriptName) & "' AND \"_pk_Sprache_ID\"=" & prf::_Sprache_ID ; "" ; "" ) ] 

Nastaví záznam chyb a přenese texty z jazykové tabulky pro chybový dialog, který se zobrazí při neúspěšném přihlášení k serveru.

Nastavit proměnnou [ $fremdsystem ; Hodnota: StringColumns(Get(ScriptParameter); 1) ] 

Nastavit proměnnou [ $endpoint ; Hodnota: StringColumns(Get(ScriptParameter); 2) ] 

Nastavit proměnnou [ $api_url ; Hodnota: SQLAusführen ( "SELECT \"API_URL\" Z \"REST_API\" WHERE \"name_foreign_system\"='" & $fremdsystem & "" ; "" ; "" ; "" ) ] 

Nastavit proměnnou [ $login ; Hodnota: SQLAusführen ( "SELECT \"Consumer_Key\" Z \"REST_API\" WHERE \"name_foreign_system\"='" & $fremdsystem & "" ; "" ; "" ; "" ) ] 

Nastavit proměnnou [ $pass ; Hodnota: SQLAusführen ( "SELECT \"Consumer_Secret\" Z \"REST_API\" WHERE \"name_foreign_system\"='" & $fremdsystem & "" ; "" ; "" ; "" ) ] 

Nastavte všechny potřebné proměnné. Proměnné pro externí systém (název externího systému, např. "WooCommerce") a koncový bod (např. "Koncový bod pro články") se přenášejí jako parametry skriptu z uživatelského dialogu. Proměnné $api_url, $login a $pass jsou převzaty z tabulky "REST_API" internetového obchodu nastavené v souboru "gFMw_Stammdaten.fmp12".

Všechny ostatní příkazy slouží k přihlášení do systému internetového obchodu s rozhraním RESTful API a jsou obecně stejné pro všechny systémy. Následující částečný skript do značné míry odpovídá dodanému příkladu příkazu Zásuvný modul MBS FileMaker.

dlg.REST_selection_customers (parametr)

Tento skript zobrazí výběrové okno, ve kterém lze vybrat zákazníky, kteří mají být importováni, na základě údajů dostupných v internetovém obchodě. Tento skript lze vyvolat pomocí následujících parametrů skriptu:

  • Import - Tento parametr slouží k zobrazení výběrového okna pro import zákazníků z internetového obchodu do aplikace gFM Business. Tento dílčí skript je generován ze skriptu popoveru "ts.kon_data_import" a obsahuje volání skriptu hlavního rozhraní všech internetových obchodů, které se volají v závislosti na výběru.
  • Vyberte vše - Tento parametr lze použít k výběru všech řádků v okně výběru.
  • Customers_call - Tento parametr lze použít k vyvolání zákazníka z výběrového okna v okně gFM Business.

dlg.REST_selection_orders (parametr)

Tento skript zobrazí výběrové okno, ve kterém lze vybrat objednávky, které mají být importovány, na základě údajů dostupných v internetovém obchodě. Tento skript lze vyvolat pomocí následujících parametrů skriptu:

  • Import_Order - Tento parametr slouží k zobrazení výběrového okna pro import objednávek z internetového obchodu do systému gFM Business a jejich následný import jako potvrzení objednávky. Tento dílčí skript je generován ze skriptu popoveru "ts.fak_data_import" a obsahuje volání skriptu hlavního rozhraní všech internetových obchodů, které se volají v závislosti na výběru.
  • Import_Invoice - Tento parametr slouží k zobrazení výběrového okna pro import objednávek z internetového obchodu do systému gFM Business a jejich následný import jako faktury. Tento dílčí skript je generován ze skriptu vyskakovacího okna "ts.fak_data_import" a obsahuje volání skriptu hlavního rozhraní všech internetových obchodů, které se volají v závislosti na výběru.
  • Vyberte vše - Tento parametr lze použít k výběru všech řádků v okně výběru.
  • Order_call - Tento parametr lze použít k vyvolání potvrzení objednávky z okna výběru v okně gFM Business.
  • Invoice_call - Tento parametr lze použít k vyvolání faktury z výběrového okna v okně gFM Business.

dlg.REST_selection_article (parametr)

Tento skript zobrazí výběrové okno, ve kterém lze vybrat položky k importu na základě údajů dostupných v internetovém obchodě. Tento skript lze vyvolat pomocí následujících parametrů skriptu:

  • Import - Tento parametr slouží k zobrazení výběrového okna pro import položek z internetového obchodu do aplikace gFM Business. Tento dílčí skript je generován ze skriptu popoveru "ts.art_data_import" a obsahuje volání skriptu hlavního rozhraní všech internetových obchodů, které se volají v závislosti na výběru.
  • Vyberte vše - Tento parametr lze použít k výběru všech řádků v okně výběru.
  • Customers_call - Tento parametr lze použít k vyvolání položky z okna výběru v okně gFM Business.

REST_Gambio_GX3_API_v210 (datový typ|externí systém|{objekt|ID export}|)

Tento skript obsahuje všechny dílčí skripty pro import a export dat v souvislosti s internetovými obchody založenými na systému Gambio GX3. Všechny příkazy v tomto skriptu se ovládají prostřednictvím prvního parametru "Typ dat", který může nabývat následujících hodnot:

  • Zákazníci (Importní skript pro automatický import zákazníků. Při tomto typu importu se před importem nezobrazuje žádné výběrové okno; místo toho se automaticky importují všichni dosud neexistující zákazníci. U tohoto typu importu existuje riziko, že se naimportují i nežádoucí spamové záznamy).
  • Orders_Orders (Importní skript pro automatický import objednávek obchodu jako potvrzení objednávky. Při tomto typu importu se před importem nezobrazuje žádné výběrové okno, ale automaticky se importují všechny dosud neexistující objednávky. U tohoto typu importu existuje riziko, že se naimportují i nechtěné spamové položky).
  • Orders_Invoices (Importní skript pro automatický import objednávek obchodu jako faktury. Při tomto typu importu se před importem nezobrazuje žádné výběrové okno, ale automaticky se importují všechny dosud neexistující objednávky. U tohoto typu importu existuje riziko, že se naimportují i nechtěné nevyžádané položky).
  • Článek (Importní skript pro automatický import produktů z internetového obchodu. Při tomto typu importu se před importem nezobrazuje žádné výběrové okno; místo toho se automaticky importují všechny dosud neexistující položky.
  • Zákazník (Aktualizační skript pro aktualizaci jednoho zákazníka z internetového obchodu v gFM-Business. Pro vyvolání tohoto skriptu je třeba zadat parametr [ID export] s ID datového záznamu zákazníka).
  • Order_Orders (Importní skript pro import jedné objednávky z internetového obchodu z objednávky. Pro vyvolání tohoto skriptu je třeba zadat parametr [ID export] s ID datového záznamu objednávky).
  • Order_Invoices (Importní skript pro import jedné objednávky z internetového obchodu z faktury. Pro vyvolání tohoto skriptu je třeba zadat parametr [ID export] s ID datového záznamu objednávky).
  • Jednotlivý článek (Importní skript pro import jednoho zboží z internetového obchodu do gFM-Business. Pro vyvolání tohoto skriptu je třeba zadat parametr [ID-Export] s ID datového záznamu zboží).
  • Výběr_zákazníků (Importní skript pro import dat zákazníků z internetového obchodu s výběrovým oknem. Funkce ve výběrovém okně se ovládají v příslušném dialogovém skriptu [dlg.REST_Auswahl_Kunden]).
  • Orders_selection (Importní skript pro import objednávek z internetového obchodu s výběrovým oknem. Funkce ve výběrovém okně se ovládají v příslušném dialogovém skriptu [dlg.REST_Auswahl_Bestellungen]).
  • Article_selection (Importní skript pro import produktů z internetového obchodu s výběrovým oknem. Funkce ve výběrovém okně jsou řízeny v příslušném dialogovém skriptu [dlg.REST_Auswahl_Artikel]).
  • Update_stock (Tento skript lze použít k porovnání skladových zásob položky se skladovými zásobami internetového obchodu. Skladová zásoba na serveru se přepíše skladovou zásobou z gFM-Business).
  • Aktualizovat_zákazníky (Tento skript se používá k aktualizaci údajů o zákaznících v internetovém obchodě. Data v internetovém obchodě jsou přepsána daty z gFM-Business. Pro vyvolání tohoto skriptu musí být v parametru [ID export] zadáno ID záznamu s údaji o zákazníkovi).
  • Update_Order_status (Tento skript se používá k aktualizaci stavu objednávky z internetového obchodu v gFM-Business. Data v gFM-Business jsou přepsána daty z internetového obchodu. Pro vyvolání tohoto skriptu musí být v parametru [ID export] uvedeno ID záznamu s údaji o objednávce).
  • Aktualizace_článku (Tento skript se používá k aktualizaci údajů o zboží v internetovém obchodě. Data v internetovém obchodě jsou přepsána daty z gFM-Business. Pro vyvolání tohoto skriptu je třeba zadat parametr [ID-Export] s ID záznamu údajů o zboží).

REST_WooCommerce_API_v3 (datový typ|externí systém|{objekt|ID export}|)

Tento skript obsahuje všechny dílčí skripty pro import a export dat ve spojení s internetovými obchody založenými na technologii WooCommerce. Tento skript obsahuje stejné parametry příkazů jako skript pro online obchody Gambio popsaný výše.

REST_Shopware_5x_API (datový typ|externí systém|{objekt|ID export}|)

Tento skript obsahuje všechny dílčí skripty pro import a export dat ve spojení s internetovými obchody založenými na technologii Shopware. Tento skript obsahuje stejné parametry příkazů jako skript pro online obchody Gambio popsaný výše.

Rozšíření polí pro existující online obchod

Skripty rozhraní "REST_Shopsystem" obsahují všechny dílčí skripty potřebné k importu dat z internetového obchodu. V každém příslušném dílčím skriptu se data, která se mají z obchodu načíst, nejprve uloží do souboru Variabilní uloženy, např:

Nastavit proměnnou [$artikel_nr ; Hodnota: MBS("JSON.GetStringValue"; MBS("JSON.GetObjectItem"; $objekt; "productModel" )) ]

Je-li tato proměnná nastavena, použijí se funkce zásuvného modulu MBS k dotazování na pole [productModel] internetového obchodu. V tomto případě se jedná o textové pole, takže se použije funkce "JSON.GetStringValue". V případě číselných polí se použije funkce "JSON.GetIntegerValue" nebo "JSON.GetDoubleValue". Datové typy je třeba striktně rozlišovat, jinak nelze funkci spustit. Po nastavení proměnných pro všechna pole se data uložená v proměnných zapíší do tabulek gFM-Business pomocí funkce MBS "FM.InsertRecord".

Chcete-li importovat další pole z internetového obchodu, stačí vytvořit další proměnné pro požadovaná další pole a odpovídajícím způsobem rozšířit funkci "FM.InsertRecord" pro zápis dat do tabulek gFM Business.

Proměnné $json a $object

U všech funkcí se data dodaná z obchodu ukládají v plném rozsahu do proměnné $json. Tato proměnná tedy vždy obsahuje kompletní datový tok JSON, který byl dodán z internetového obchodu. V závislosti na definici obsahuje proměnná $object pouze část dodaných dat, například datovou větu. Pokud chcete do rozhraní REST-API přidat další tabulky z internetového obchodu nebo z rozšíření obchodu, musíte v rámci importního skriptu provést nový dotaz s příslušným koncovým bodem rozhraní. Pro přehlednost můžete výsledek JSON uložit také do samostatné proměnné, například "$json_extension_1" a "$objekt_extension_1".

Rozšíření rozhraní o další online obchod

Přidání nového internetového obchodu, který ještě není podporován systémem gFM-Business, je v zásadě poměrně jednoduché a sestává z následujících kroků:

  • Přidání nového online obchodu v gFM-Business v části [Nastavení > Internetový obchod], s přihlédnutím k přihlašovacím údajům a koncovým bodům pro všechny typy dat.
  • Duplikování existujícího skriptu rozhranínapř. "REST_Shopware_5x_API" a přejmenujte nový skript na název nového systému obchodu, např. "REST_Magento_xy_API".
  • Přizpůsobení polí ve všech funkcích nového importního skriptu. Předpokladem je, že nový internetový obchod má také rozhraní REST API. Je třeba přizpůsobit všechny proměnné, které již byly probrány v části "Rozšíření polí pro existující internetový obchod". Názvy proměnných se nesmí měnit. Pokud jsou přidána nová pole/proměnné, musí být zohledněny také ve funkcích MBS "FM.InsertRecord" nebo "FM.UpdateRecord". Všechny hodnoty JSON se ve standardní verzi gFM-Business načítají pomocí funkcí MBS. Tyto funkce MBS je také možné nahradit funkcemi FileMakeru (např. JSONGetElement).
  • Rozšíření dialogových skriptů "dlg.REST_Auswahl_xyz". Z těchto skriptů jsou v závislosti na výběru vyvolány skripty importu pro všechny internetové obchody. Pokud je přidán nový systém obchodů, musí být tyto výběrové skripty také rozšířeny o volání skriptu pro nový internetový obchod. Název internetového obchodu nastavený v nabídce [Nastavení > Internetový obchod] by měl obsahovat textovou frázi, která je v těchto skriptech dotazována v proměnné $shopsystem.

U stávajících systémů doporučujeme pro rozšíření rozhraní obchodu duplikovat produktivní systém a vývoj nejprve provést na testovacím systému, aby nedošlo k ohrožení skutečné databáze při pozdějším testování.

Rozšíření rozhraní servisním partnerem nebo námi.

My nebo některý z našich servisních partnerů vám rádi osobně pomůžeme s rozšířením rozhraní online obchodu v rámci otevřené licence. Můžeme pro vás buď realizovat kompletní požadované rozšíření, nebo vám či vašemu vývojáři nabídnout vhodný koučink pro rozšíření rozhraní nebo pro další otázky týkající se softwaru gFM-Business ERP. Neváhejte nás kontaktovat!

Další informace o otevřené licenci softwaru gFM-Business ERP

Zanechat komentář

Sdílet tuto stránku:

Software ERP je stejně flexibilní jako vaše společnost.
Rádi vám poradíme.

Přizpůsobitelný software ERP pro Mac, Windows a iOS.

Nacházíte se zde: Masarykova univerzita Lidé se mohou těšit na další informace: Rozšíření rozhraní obchodu softwaru gFM-Business ERP