
Přihlášení k rozhraní WooCommerce RESTful API
Aby bylo možné číst data z internetového obchodu WooCommerce, musí být rozhraní RESTful API nejprve aktivováno ve WooCommerce. Toto nastavení lze provést v backendu WordPressu v části [WooCommerce > Nastavení] v rejstříku [API] lze provést.
Klikněte na tlačítko [Uložit změny]potvrdit aktivaci rozhraní. V dalším kroku vytvořte nový klíč API. Za tímto účelem klikněte na kartu [Klíč/aplikace] a pak klikněte na tlačítko [Přidat klíč].
V terénu [Popis] můžete přidat popis podle vlastního výběru. Vyberte uživatele, který má mít oprávnění k přístupu k rozhraní WooCommerce RESTful API. V závislosti na tom, zda má uživatel prostřednictvím rozhraní také zapisovat data do systému obchodu, můžete přiřadit příslušná oprávnění. Pro zde prezentované řešení FileMaker postačí oprávnění "Číst". Poté klikněte na tlačítko [Vytvořit klíč API].
Nyní si poznamenejte obsah dvou polí "Key (Consumer Key)" a "Consumer Secret". Tento krok je důležitý, protože v budoucnu již nebudete moci zobrazit obsah těchto polí, protože údaje o klíči jsou uloženy v maskované podobě.
Rozhraní v aplikaci FileMaker s rozhraním REST API služby WooCommerce
Ukázkové řešení uvedené v tomto článku lze použít k přenosu objednávek obchodu a souvisejících údajů o zákaznících, jako jsou fakturační a dodací adresy, z internetového obchodu WooCommerce do databáze FileMaker. Ukázkový soubor (nebo vaše vlastní řešení) lze snadno rozšířit o další funkce a tabulky. WooCommerce poskytuje následující koncové body pro přístup k rozhraní RESTful API:
- Kupóny
- Zákazníci
- Objednávky (použité v příkladovém souboru)
- Poznámky k objednávce
- Náhrady
- Produkty
- Atributy produktu
- Termíny atributů produktu
- Kategorie produktů
- Třídy přepravy výrobků
- Štítky produktu
- Zprávy
- Daňové sazby
- Daňové třídy
Pomocí rozhraní WooCommerce RESTful API lze ve FileMakeru načítat a/nebo zpracovávat i mnoho dalších zdrojů dat, například vouchery, produkty, atributy produktů nebo dokonce daňové třídy. V našem ukázkovém řešení FileMaker používáme koncový bod "Objednávky" k importu objednávek z WooCommerce do FileMakeru.
Příklad řešení vyžaduje zásuvný modul MBS FileMaker
Pro vývoj rozhraní se Zásuvný modul MBS FileMaker od společnosti Monkeybread Software. Zásuvný modul nabízí všechny funkce potřebné pro rozhraní RESTful API. Alternativou jsou funkce bezplatného Zásuvný modul Base Elements pokud je software odpovídajícím způsobem přeprogramován.
Výchozí nastavení v řešení FileMaker
Zkušební verzi řešení FileMaker pro rozhraní s internetovým obchodem WooCommerce si můžete stáhnout na adrese ke stažení zde. Řešení spočívá v .formát fmp12 pro FileMaker 13 až 15 a vyžaduje zásuvný modul MBS FileMaker minimálně ve verzi 4.4. Po rozbalení archivu zip a spuštění řešení s FileMakerem musíte nejprve zadat data pro RESTful API vašeho internetového obchodu WooCommerce.
Zadejte všechny údaje do žlutě zvýrazněných polí:
- ADRESA URL ROZHRANÍ API - URL vašeho serveru a přípona /wp-api/v3
- Konečný bod - Standardní: /orders
- Objekt Start - Standard: objednávky
- Spotřebitelský klíč - Klíč spotřebitele, který jste vytvořili a zaznamenali v backendu WordPressu.
- Tajemství spotřebitele - Tajemství spotřebitele, které jste vytvořili a zaznamenali v backendu WordPressu.
Pokud byly všechny údaje zadány správně, kliknutím na tlačítko [Import dat] importuje všechny objednávky ze zadaného internetového obchodu WooCommerce a související údaje o zákaznících.
Struktura ukázkové databáze FileMaker
Vzorová databáze pro import objednávek obchodu má jednoduchou strukturu a obsahuje následující datové tabulky:
- Objednávky - Hlavní datový záznam objednávky obsahuje následující pole:
- __ORDERS (údaje z počátečního objektu "orders", pouze pro ilustraci)
- Číslo objednávky (číslo objednávky z WooCommerce)
- _ID_Fremdsystem (Primární klíč [post_id] z WooCommerce)
- _pk_Order_ID (primární klíč)
- Poznámky (poznámky od WooCommerce)
- Stav objednávky
- Amount_total_gross
- Částka_celkem_neto
- Částka_VAT
- Amount_VAT_items
- Částka_VAT_dopravní_náklady
- Amount_discount
- Částka_Dopravní_náklady
- Částka_dílčí součet
- Date_Order
- E_Mail
- JSON_Ausgabe (Globální pole pro výstup dat ve formátu JSON, používá se v souboru Skript použité)
- Zákazník_No_WC
- LiAdr_Address (doručovací adresa)
- LiAdr_Company
- LiAdr_Country_code
- LiAdr_Name
- LiAdr_City
- LiAdr_PLZ
- LiAdr_first_name
- Sazba DPH
- ReAdr_Address (fakturační adresa)
- ReAdr_Company
- ReAdr_Country_Code
- ReAdr_Name
- ReAdr_City
- ReAdr_PLZ
- ReAdr_first_name
- Status_paid
- Telefon
- Způsob přepravy
- Měna
- Způsob platby
- Pozice - Tabulka položek objednávky obsahuje následující pole:
- Číslo objednávky (číslo objednávky z WooCommerce)
- _pk_Position_ID (primární klíč)
- Množství
- Article_No
- Popis článku
- Částka_VAT
- Amount_net
- id (primární klíč z WooCommerce)
- product_id (ID produktu ve WooCommerce)
- Nastavení - Nastavení rozhraní WooCommerce RESTful API
- Externí systém (Globální) - Název externího systému (používá se pouze v případě, že se používá více externích systémů).
- rf_URL (Globální) - Adresa URL serveru s cestou k rozhraní API.
- rf_Benutzer (Globální) - Uživatelské jméno/spotřebitelský klíč pro RESTful API
- rf_Password (Globální) - Heslo/spotřebitelské tajemství
- rf_Status_SSL (Global) - Stav, zda má být použito SSL, nebo ne.
- rf_Endpoint (Globální) - Koncový bod rozhraní RESTful API
- rf_Start object (Global) - Počáteční objekt v rámci koncového bodu
Tabulky "Objednávky" a "Položky" jsou propojeny klíčem "_Order number". Pole v těchto tabulkách lze přejmenovat podle potřeby pro integraci do vlastních řešení FileMaker. Tabulka "Nastavení" neobsahuje propojení, protože všechna pole byla definována globálně. Pokud má být pomocí rozhraní RESTful API připojeno několik systémů třetích stran, doporučujeme nedefinovat pole jako globální a přidat primární klíč pro výběr systému třetí strany.
Přihlášení k rozhraní RESTful API
Ukázkové řešení FileMakeru obsahuje dva dílčí skripty, pomocí kterých lze do FileMakeru importovat data objednávek z internetového obchodu. Ve skriptu "ts.Query_REST_API" je přihlášení do systému. Server. Za tímto účelem volá zásuvný modul MBS příslušné funkce cURL v následujícím pořadí:
- Otevření nové relace cURL
- Nastavení adresy URL pro rozhraní REST API
- Nastavení přihlašovacích údajů
- Nastavení možnosti záhlaví
- Nastavení SSL
- Zapnutí zpráv protokolu
- Provést dotaz s chybovou zprávou
- Výsledek v poli [Orders::JSON_Output] napsat
- Zavřít relaci cURL, Vyčištění
Čtení dat JSON z rozhraní
Druhý dílčí skript "ts.Parse_JSON_Orders_WC" načte data JSON dodaná serverem a vloží je do jednotlivých polí tabulek "Orders" a "Items". Všechna data z počátečního objektu "objednávky" (viz pole "Počáteční objekt" v nastavení) se nejprve přenesou do tabulky "objednávky". Variabilní $ordersJSON je zapsán. Poté následuje hlavní prováděcí smyčka pro načtení všech objednávek a další prováděcí smyčka pro import všech položek objednávky. V tomto skriptu se již nepřistupuje k serveru.
Všechna pole dodací adresy (shipping_address), fakturační adresy (billing_address) a položek (line_items) jsou umístěna ve stromové struktuře a musí být vyplněna příkazem:
MBS( "JSON.GetObjectItemTree"; json; names )
lze vyčíst z příslušného stromu. Všechna ostatní pole lze číst normálně pomocí funkcí MBS("JSON.GetStringValue"; json ) nebo MBS("JSON.GetIntegerValue"; json ).
Stáhnout ukázkovou databázi FileMaker
Můžete si stáhnout ukázkovou databázi FileMaker ke stažení zde a vyzkoušejte jej v jakémkoli internetovém obchodě WooCommerce. Veřejná verze je uzamčena pro úpravy definic polí a skriptů. Chcete začít okamžitě používat ukázkové řešení a přizpůsobit si ho vlastním požadavkům? Pak jste vítáni Kontaktujte nás s námi.

Markus Schall vyvíjí od roku 1994 databáze, rozhraní a podnikové aplikace na míru založené na Claris FileMaker. Je partnerem společnosti Claris, držitelem ocenění FMM Award 2011 a vývojářem aplikace Software ERP gFM-Business. Je také autorem knih a zakladatelem organizace M. Schall Publishers.







To zní jako to, co hledám. Je to možné i obráceně? Tedy zápis změn zpět do mysql DB?
Zásuvné moduly použité v ukázkovém řešení samozřejmě podporují i opačný proces, který umožňuje zápis dat do databáze WooCommerce prostřednictvím rozhraní RESTful API.
Po vydání FMP 16 s integrovaným rozhraním RESTful API a Json, bylo by nyní možné připojit se k WC bez pluginu MBC?
Ano, ve FileMakeru 16 by to nyní mělo být možné i bez použití zásuvného modulu MBS. Řešení však funguje pouze ve FileMakeru 16 a ne ve starších verzích.
Velmi zajímavé, bude nutné váš příklad aktualizovat, aby to zohledňoval?
Ano, pokud mají funkce fungovat nativně s novými funkcemi FileMakeru 16, je třeba funkce založené na MBS odpovídajícím způsobem přeprogramovat.
Plánujete vytvořit nativní verzi FMP 16 bez zásuvného modulu MBS?
pokud ano, mám velký zájem
Ne, nemám v úmyslu vyvíjet nativní verzi tohoto řešení pro FileMaker, protože pro tyto funkce obvykle používám zásuvný modul MBS.
Dobrý den, je nějaká zkušenost, zda aktuální demo běží i s aktuální verzí Woocommerce a fm 19? Děkuji
Dobrý den, software by neměl mít problém s FileMakerem 19 - ale zde byste pravděpodobně mohli celou věc vyřešit pomocí vestavěných prostředků, pak již nutně nepotřebujete plugin MBS FileMaker. Co se týče obchodu, software již není aktuální a možná bude potřeba jej upravit pro novější verze WooCommerce. Na základním principu to však nic nemění.
Základní princip se od doby vývoje do dnešního dne nezměnil, pouze do rozhraní WooCommerce přibyla možná další pole.