Rozhraní DATONA SIMPLE REST pro internetový obchod umožňuje perfektni, rychlou a výkonnou komunikaci s internetovým obchodem. Způsob výměny dat je programátorsky přívětivé jednoduche REST API, ktere využívá oblíbeny formát XML. Rozhraní  DATONA SIMPLE REST je dvousmerne rozhraní, ktere umožňuje úplnou synchronizaci masterdat i transakčních dat mezi internetovým obchodem a informačními systémy DATONA. 

Komunikace směrem do internetového obchodu

Směrem z DATONA IS se na web mohou přenášet následující záznamy: 

  • Katalog (seznam produktu včetně uživatelských atributu a položek setu a receptur), 
  • stav skladu, 
  • věrnostní účty, 
  • adresář firem, 
  • objednávky,
  • dodací listy, 
  • faktury
  • číselník plateb,
  • číselník tras dopravy. 

Komunikace směrem z DATONA IS na WEB je založena na tom, že DATONA IS poskytuje internetovému obchodu informace ve kterých záznamech došlo ke změnám. Programátor internetového obchodu se může rozhodnout jestli bude reagovat na všechny změnové informace a nebo jestli naprogramuje jednodušší variantu, která bude reagovat pouze na vybrané záznamy. 

Komunikace z internetového obchodu do DATONA IS

Z internetového obchodu se do informačního systému přenášejí následující záznamy:

  • Objednávky, 
  • věrnostní účty, 
  • adresář firem. 

Postup při stahování dat z DATONA IS do internetového obchodu

  1. Internetový obchod pravidelně žjišťuje zda došlo ke změne na strane DATONA IS pomocí HTTP volání, které vrátí druh změněného záznamu a seznam změněných ID.
  2. Pokud došlo ke změnám v záznamech na které internetový obchod reaguje, internetový obchod v cyklu stáhne konkrétní objekty a provede změny ve své databázi 

    foreach transfer_request_id in transfer_requests do {
            foreach ID in IDs do {
                stažení záznamu: curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175978
            }
            curl -X DELETE http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3073
        }

 

Postup ukládání dat do DATONA IS 

  1. Pro uložení nové objednávky uloží internetový obchod fo DATONA IS objednávku pomocí HTTP volání.

curl -X POST http://uzivatelske_jmeno:heslo@ws2.datona.cz/objednavky --data "@/home/user/objednavka123.xml"

 

Seznam změn záznamů:
Internetový obchod pravidelně (např. jednou za 5 minut) volá funkci pro získání informace o změnách:

http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek;
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request?limi...
curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek;
curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request?limi...

Pokud tento dotaz vrátí nějaké záznamy, zavolá se pro každé změměné ID funkce pro získání konkrétního záznamu 
a následně se smaže záznam z fronty změnových požadavků:
curl -X DELETE http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3073;

Příklad nejjednodušší hodnoty volání funkce peek. Záznam o změně může obsahovat jedno nebo více změněných ID. 
<table>
    <row><transfer_request_id>3073</transfer_request_id><objekt>objednavky</objekt><id><element>1178</element></id></row>
</table>

Příklad kdy funkce peek vrátí dvě změněná ID.  
<table>
    <row><transfer_request_id>3075</transfer_request_id><objekt>katalog</objekt><id><element>175978</element><element>175948</element></id></row>
</table>

Příklad vrácené hodnoty volání funkce pro seznam změněných záznamů. Každý záznam o změně může obsahovat jedno nebo více změněných ID. 

<table>
    <row><transfer_request_id>3073</transfer_request_id><objekt>objednavky</objekt><id><element>1178</element></id></row>
    <row><transfer_request_id>3074</transfer_request_id><objekt>objednavky</objekt><id><element>1179</element></id></row>
    <row><transfer_request_id>3075</transfer_request_id><objekt>katalog</objekt><id><element>175978</element><element>175948</element></id></row>
</table>

 

Katalog a sklad

Ziskání konkrétních záznamů z katalogu:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175948
curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175948

Ziskání všech ID z katalogu:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog
curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog

Ziskání všech feedu stavu skladu
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis
curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis

 

Věrnostní účty

Ziskání konkrétních záznamů z věrnostních účtů:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/19
curl: -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/19
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/'karel.vomacka@datona.cz'
curl: -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/'karel.vomacka@datona.cz'

 

Objednávky

Ziskání konkrétních záznamů z objednávek:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky/1179
curl: -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky/1179

Ziskání všech ID z objednávek:
'http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky'
'curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky'

Odeslani objednávky (vzor xml):
http://ws2.datona.cz/firma/objednavky --data "@/home/user/objednavka123.xml"
curl -X POST http://ws2.datona.cz/firma/objednavky --data-binary "@/home/user/objednavka123.xml"

 

Číselníky dopravy a platby

Ziskání konkrétních záznamů z číselníku doprava:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_ciselnik/1
curl: -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_ciselnik/1

Ziskání všech ID z číselníku doprava:
'http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_číselník'
'curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik'

Ziskání konkrétních záznamů z číselníku plateb:
http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik/1
curl: -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik/1

Ziskání všech ID z číselníku doprava:
'http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_číselník'
'curl -X GET http://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik'

 

Sledování změn