Plugin XML transformace umožňuje přes REST API změnit výchozí XML nebo CSV zdroj pomocí souboru šablony XSLT (eXtensible Stylesheet Language Transformations) na nový výstup. Lze tak efektivně, s využitím syntaxe XSLT 1.0 a XPath 1.0, doladit zdrojový feed, jehož obsah nemůžete přímo ovlivnit, nebo jej upravit do jiného formátu. Vstupní XML nebo CSV soubor (např. od dodavatele) a XSLT soubor (obsahující předpis transformace) lze cachovat, a stejně tak i výstup. Vstupní soubory se získávají ze zadaných služeb (HTTP, FTP, aj.). XSLT soubor lze nahrát pomocí REST API do nopCommerce e-shopu. Výsledek transformace je dostupný v obsahu odpovědi na HTTP GET dotaz přes REST API.
Umí pracovat i se zdrojem v ZIP archivu, kde po získání souboru prohledá obsah a zpracuje požadovaný soubor. CSV soubory nejprve převede na XML a teprve pak aplikuje XSLT.
Plugin plnohodnotně nahrazuje služby třetích stran, orientované na dodatečnou úpravu XML, většinově poskytované v rámci placených tarifů. Pro správné sestavení XSLT souboru je potřeba znalost XSL 1.0 a XPath 1.0 (začít lze např. na W3Schools).
POZOR: Před nákupem plné verze vždy nejprve otestujte zkušební verzi!
Aktuální plugin poskytujeme pro nejnovější verzi nopComerce v4.80 a pro starší v4.70.
Co umí plugin XML tranformace přes vlastní REST API:
- [HTTP GET] Transformuje XML soubor (query parametr "xmlUrl") pomocí XSLT souboru (query parametr "xsltUrl") na výstup. V rámci parametrů dotazu lze zadat časový interval pro cachování vstupů a výstupu, zadat api klíč (pokud je nastavený), určit mime typ výsledku aj.
- [HTTP GET] Transformuje předdefinovanou konfiguraci, identifikovanou zkratkou, na výstup. URL výsledku transformace je tak značně kratší např.: https://muj-server.cz/zac/file-transform/xslt/moje_zkratka. Pomocí předdefinování lze V rámci parametrů dotazu lze zadat časový interval pro cachování vstupů a výstupu, zadat api klíč (pokud je nastavený), určit mime typ výsledku aj.
- [HTTP PUT, GET, DELETE] Umožňuje spravovat předdefinované transformace. Zdroj dat je možné kromě jednoduchých HTTP veřejných umístění nadefinovat i komplexně např.: stáhni ZIP soubor z FTP, na který se přihlásíš login+heslo, najdi v něm CSV soubor obsahující v názvu daný výraz, převeď soubor na XML, a protože mu chybí hlavičky s názvy sloupců, které by se jinak použily jako názvy tagů, tak použij čísla sloupců následujících zadaný prefix.
- [HTTP PUT] Umožní nahrát vlastní XSLT soubor. Soubor je pak dostupný přes URL cestu /files/transform/nazev_souboru.xsl. Akci je možné vykonat pouze se znalostí api klíče pro souborové operace.
- [HTTP DELETE] Umožní smazat existující XSLT soubor. Soubor je odstraněn z adresáře /files/transform. Akci je možné vykonat pouze se znalostí api klíče pro souborové operace.
- Úplný popis REST API je dostupný přes OpenAPI/Swagger specifikaci. Tu naleznete ve vývojovém prostředí na adrese /zac/file-transfer/swagger příp. /zac/file-transfer/swagger.json. V produkčním prostředí je swagger vypnutý.
Co umí plugin XML transformace v administraci:
- Nastavení API klíčů pro zabezpečení volání transformace a pro souborové operace. Pro omezení vyvolání transformace neautorizovaným aktérem je možné nastavit api klíč, který se musí posílat s každým požadavkem na provedení transformace. Ve výchozím stavu nejsou souborové operace povoleny. Pro jejich povolení je nutné nastavit api klíč pro souborové operace v konfiguraci pluginu.
- Nastavení seznamu veřejných IP adres, ze kterých jsou přijímány požadavky na provedení transformace. Lze tak ještě více omezit nežádoucí přístupy k API.
Jaké je typické použití pluginu XML transformace?
- Od svého dodavatele získáte URL produktového feedu ve formátu XML nebo CSV. Hodnoty některých elementů (nebo atributů) ale potřebujete upravit než bude feed zpracován např. pomocí pluginu Import Manager od foxnetsoft.com.
- Vytvoříte XSLT soubor, který požadovanou transformaci zajistí. Nahrajete jej buď na nějaké veřejně dostupné místo nebo pomocí API pluginu XML transformace mezi statické soubory e-shopu nopCommerce.
- URL s GET metodou REST API použijete jako vstup pro zpracování upraveného feedu. Např. do pluginu pro zpracování importu.
Co je možné pomocí transformace upravovat?
Pomocí XSLT šablony lze v existujícím XML feedu upravit např. ceny, odebrat nechtěné položky, napravit chyby v textu a mnoho jiného.
Potřebujete pomoc s napsáním a odladěním XSLT šablony? Nebo máte specifický zdroj dat (např. soubor, který je potřeba nejprve získat přes nějaké API)?
Ozvěte se - rádi pomůžeme v rámci poskytovaných konzultačních služeb.
K tomuto pluginu máme i zkušební verzi, která je plně funkční po dobu 10i dní. Neobjednávejte plugin, pokud jste jej nevyzkoušeli! Všechny případné problémy se musí odladit ještě se zkušební verzí. Na pozdější problémy vyplývající z nestandardní instalace, customizací původního zdrojového kódu nopCommerce, použití neobvyklých (někdy i špatně zimplementovaných) rozšíření třetích stran aj. nebudeme brát zřetel a taková reklamace bude zamítnuta. V případě objevení problému s testovací verzí nás neváhejte kontaktovat.
Plugin nabízíme v licenci pro jednu i více domén. Od dokončení objednávky budete mít možnost stahovat bezplatně aktualizace po dobu 1 roku v rámci servisního období. Před vypršením aktuálního servisního období vám s předstihem 30 dní nabídneme možnost zvýhodněného prodloužení na další rok.
Stručný návod k pluginu XML transformace
Důležité aktualizace pluginu XML transformace:
- 48.4.18 + 47.5.21 (5.3.2025) ... další možné zdroje a formáty dat (FTP, ZIP, CSV) + předdefinované transformace
- 47.4.5 + 46.6.6 (20.6.2024) ... první veřejná verze