Univerzální Import/Export

Modul univerzální import/export slouží pro výměnu dat mezi klientskou aplikací a internetovým obchodem. Komunikace probíhá výměnou XML souborů jak pro import (soubory jsou nahrávány na do FTP adresáře), tak i pro export dat.

Import

Importní XSD schémata a příklady struktury XML naleznete zde: https://www.fastcentrik.cz/podpora/manual/nastaveni/importy-a-exporty-dat/univerzalni-import-dat-z-xml

Vkládání dat pomocí speciální sestavy

Importní soubory lze také sdružit do jednoho souboru a to tak, že obsahy jednotlivých dílčích importů budou vloženy do root elementu () hlavního importního souboru. V tomto případě již nezáleží na pořadí jednotlivých dílčích importů v hlavním importním souboru.

Postup importu dat na internetový obchod

Příprava:

Pro import dat na internetový obchod byl na FTP serveru vyhrazen adresář „files/universalTransport/import/“. Pokud adresář neexistuje, je nutné zajistit jeho vytvoření.

Nahrání importních souborů na FTP server:

Před nahráním importovaných souborů do vyhrazeného adresáře je potřeba smazat veškerý jeho obsah, aby nedošlo k importu zastaralých XML souborů. Poté je možné nahrát importní soubory do importního adresáře na FTP serveru.

Zavolání importní URL adresy pro zpracování dat:

URL adresa je unikátní v rámci internetového obchodu. O tuto adresu si můžete zažádat u podpory internetového obchodu.

Příklad URL adresy:
http://mojedomena.cz/customdatafeed/5A6001D2-0872-46F4-9B14-173263BC590B?*

* Parametry

  • task=runImport -> Aplikace zajistí import všech XML souborů v importním adresáři. Stránka vrací výsledek ID logu daného importu.
  • task=importStatus&logBatchId={ID log záznamu} -> Aplikace zjistí v jakém stavu je import pro dané ID logu. Výsledkem je XML se stavem importu.

Vysvětlivky:

  • LogBatch/@DateStart: atribut obsahuje datum a čas startu importu
  • LogBatch/@DateEnd: atribut obsahuje datum a čas ukončení importu
  • LogBatch/@State: atribut obsahuje stav importu (3 – ok, 2 – varování, 1 - chyba)
  • LogBatch/SubLogBatch: element obsahuje dílčí operace importu
  • LogBatch/Logs: element obsahuje podrobnější popisy operací importu včetně chyb
  • LogBatch/Logs/Log: element obsahuje detailní popis dané operace
  • LogBatch/Logs/Log/@State: atribut obsahuje stav importu (3 – ok, 2 – varování, 3 - chyba) LogBatch/Logs/Log/@Code: atribut obsahuje kód dané operace
  • LogBatch/Logs/Log/@CategoryCode: atribut obsahuje kód kategorie operace
  • LogBatch/Logs/Log/@Message: atribut obsahuje textovou zprávu o stavu dané operace
  • LogBatch/Logs/Log/LogDetail: element obsahuje XML s přehledem o událostech importu

Export

Exportovat lze tyto entity:

  • Objednávky

Zavolání exportní URL pro export objednávek z internetového obchodu:

URL adresa je unikátní v rámci internetového obchodu. O tuto adresu si můžete zažádat u podpory internetového obchodu.

Příklad URL adresy: http://mojedomena.cz/customdatafeed/5A6001D2-0872-46F4-9B14-173263BC590B?*

* Parametry k URL se oddělují oddělovačem "&":

  • task=export -> Aplikace zahájí export dle vstupních parametrů
    • from={číslo objednávky od} -> Filtruje objednávky od zadaného čísla objednávek.
    • to={číslo objednávky do} -> Filtruje objednávky do zadaného čísla objednávek.
    • datefrom={datum od} -> Filtruje objednávky od zadaného data.
    • dateto={datum do} -> Filtruje objednávky do zadaného data.
    • exported={true/false} -> Filtruje objednávky dle příznaku exportován (bExported).
    • setasexported={true/false} -> Aplikace zapíše příznak exportován na všech vyexportovaných objednávkách.
    • page={celé číslo} -> strana výpisu, pokud je export z důvodu objemu stránkován
  • task=result -> Aplikace zapíše externí ID objednávky (například z IS) k dané objednávce a zároveň ji nastaví příznak exportováno.
    • ids={seznam id objednávek oddělených „,“}
    • externalIds={seznam externích id objednávek oddělených „,“}
    • seznamy ids a externalIds musí mít stejný počet záznamů pro spárování (tzn. ID objednávky na 3 pozici v seznamu ids bude spárováno s externím ID na 3 pozici v seznamu externalIds)

Omezení exportu pro „task=export“:

  • Export objednávek je omezen na rozsah 30 dnů.
  • Pokud je URL adresa volána bez parametrů, do XML budou vyexportovány objednávky 30 dnů zpětně od poslední objednávky.
  • Pokud je volána jen s parametry OD („datefrom“ nebo „from“), budou vyexportovány objednávky dle parametru OD plus dalších 30 dnů.
  • Pokud je volána jen s parametry DO („dateto“ nebo „to“), budou vyexportovány objednávky DO plus 30 předchozích 30 dnů.
  • Pokud export obsahuje více objednávek, než aktuálně povoluje systém pro jeden export (aktuálně 100), výstupní soubor bude rozdělen do více stránek, které lze volat s pomocí nového parametru page={1 - n}.  Pokud tato situace nastane a je potřeba zadat parametr page a nebyl zadán, systém vrátí v XML informaci, která udává rozsah parametru page.
  • Pokud je pomocí parametrů OD až DO zadán větší rozsah než 30 dnů, v XML se vrátí pouze informace o překročení limitu počtu dnů.
  • Pokud je jeden z parametrů OD nebo DO neplatný, export se provede alespoň podle platného parametru a jeho pravidla.

Příklady:

Příklad exportu se stránkováním:
http://mojedomena.cz/customdatafeed/5A6001D2-0872-46F4-9B14-173263BC590B? task=export&datefrom=1.2.2023&dateto=20.2.2023

Výstupní XML obsahuje element <pages_total> s hodnotou počtu stran:
<response>
   <message>Převýšili jste maximální počet 100 záznamů na stránku. Celkový počet stránek je: 7. Použijte v url adrese parametr page.</message>
   <pages_total>7</pages_total>
</response>


Pro načtení konkrétní strany lze použít parametr „page“:
http://mojedomena.cz/customdatafeed/5A6001D2-0872-46F4-9B14-173263BC590B? task=export&datefrom=1.2.2023&dateto=20.2.2023&page=1
Posun nahoru
Posun dolů
FastCENTRIK

Připravujeme Demo