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 dvousměrné 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 změnovém logu, kterým DATONA IS poskytuje internetovému obchodu informace o tom změnách v záznamech. 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. Výstupní formát směrem do internetového obchodu je xml nebo json. Typ výstupního formátu je možné specifikovat pomocí GET parametru format(xml|json). Výchozí hodnota je xml. Příklad:. https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/skladove_doklady/117....
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.
Vstupní formát pro importované doklady z internetového obchodu je xml.
Postup při stahování dat z DATONA IS do internetového obchodu
- 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.
-
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 https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175978
}
curl -X DELETE https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3073
}
Postup ukládání dat do DATONA IS
- Pro uložení nové objednávky uloží internetový obchod fo DATONA IS objednávku pomocí HTTP volání.
curl -X POST https://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:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek;
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request?lim...
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek;
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request?lim...
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 https://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>
<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
Ziskání všech ID z katalogu:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog3
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog3
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog4
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog4
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog5
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog5
Ziskání konkrétních záznamů z katalogu:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175948
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog/175948
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2/175948
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2/HALVYROVNANI
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2/175948
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/katalog2/HALVYROVNANI
Aktualizace skladové karty (vzor skladove_karty xml):
https://ws2.datona.cz/firma/katalog5 --data "@/home/user/katalog5_update.xml"
curl -X POST https://ws2.datona.cz/firma/katalog5 --data-binary "@/home/user/katalog5_update.xml"
Vzor skladové karty (vzor skladove_karty xml)
Sklad
Ziskání feedu celkového stavu skladu všech skladových karet
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis
Ziskání celkového stavu skladu pro konkrétní skladovou kartu
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis/121
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad_katcis/121
Ziskání feedu stavu skladu všech skladových karet na jednotlivých skladech
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad
Ziskání feedu stavu skladu všech skladových karet na konkrétním skladu
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad/01
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad/01
Ziskání stavu skladu skladové karty na konkrétním skladu
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad/01/121
curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/v_sklad/01/121
Věrnostní účty
Ziskání konkrétních záznamů z věrnostních účtů:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/19
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/19
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/'karel.vomacka@datona.cz'
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty/'karel.vomacka@datona.cz'
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/vernostni_ucty'
Objednávky
Ziskání konkrétních záznamů z objednávek:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky/1179
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky/1179
Ziskání všech ID z objednávek:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/objednavky'
Vzor pro objednávky: vzor xml
Odeslani objednávky (vzor xml):
https://ws2.datona.cz/firma/objednavky --data "@/home/user/objednavka123.xml"
curl -X POST https://ws2.datona.cz/firma/objednavky --data-binary "@/home/user/objednavka123.xml"
Příjemky
Ziskání konkrétních záznamů z příjemek:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/prijemky/117
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/prijemky/117
Ziskání všech ID z příjemek:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/prijemky'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/prijemky'
Dodací listy
Ziskání konkrétních záznamů z dodacích listů:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/dodaci_listy/117
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/dodaci_listy/117
Ziskání všech ID z příjemek:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/dodaci_listy'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/dodaci_listy'
Ostatní skladové doklady
Ziskání konkrétních záznamů ze skladových dokladů:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/skladove_doklady/117
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/skladove_doklady/117
Ziskání všech ID ze skladových dokladů:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/skladove_doklady'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/skladove_doklady'
Faktury vydané
Ziskání konkrétních záznamů z faktur vydaných:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/faktury_vydane/117
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/faktury_vydane/117
Ziskání všech ID z příjemek:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/faktury_vydane'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/faktury_vydane
Číselníky dopravy a platby
Ziskání konkrétních záznamů z číselníku doprava:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_ciselnik/1
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_ciselnik/1
Ziskání všech ID z číselníku doprava:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/doprava_číselník'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik'
Ziskání konkrétních záznamů z číselníku plateb:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik/1
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik/1
Ziskání všech ID z číselníku doprava:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_číselník'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/platba_ciselnik'
Dárkové šeky
Ziskání detailu konkrétní série dárkových šeků:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky/1
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky/1
Ziskání seznamu všech platných sérií dárkových šeků::
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky'
Ziskání detailu konkrétního dárkového šeku:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky_kody/1
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky_kody/1
Ziskání seznamu všech kódů všech sérií dárkových šeků:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky_kody'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/seky_kody'
Zapsání informace o vydaní konkrétního kódu dárkového šeku:
'https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/zapis_vystaveny_kod/...'
'curl -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/zapis_vystaveny_kod/...'
Sledování změn
První změna ve frontě:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request-peek
Seznam změn ve frontě:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request
Detail změny:
https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3077
curl: -X GET https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3077
Smazání změny po zpracování na straně webu:
curl: -X DELETE https://uzivatelske_jmeno:heslo@ws2.datona.cz/firma/transfer_request/3077
Podpora
CURL
Pro stažení programu curl doporučujeme tento odkaz:
curl pro Windows