Všeobecné informácie o rozhraní.
V databáze Optivus sú údaje ukladané v databáze MS SQL server. Na tabuľkách, ktoré sa budú využívať pri komunikácii s e-shopom sa nachádza stĺpec version
typu rowversion
. Ten je automaticky pri každej zmene záznamu aktualizovaný. Pomocou tohto stĺpca je možné sledovať zmeny. Ak si bude e-shop pamätať, že posledné načítané údaje majú hodnotu version X, dostane z rozhrania len nové alebo zmenené údaje tak, že do rozhrania pošle parameter version. Algoritmu na spracovanie údajov by mal postupovať nasledovne.
Verejne prístupné testovacie API je na adrese https://eshop-beta-dot-optivusupdater.appspot.com/. Treba si nastaviť cestu podľa API, čiže napríklad získanie verzie API je na adrese /interface/eshop/version. Je to pripojené do testovacej vývojárskej databázy, v ktorej je zopár testovacích údajov. Na tom si to môžete odladiť. Ak potrebujete ladiť verzovanie a potrebujete, aby sa nejaký údaj zmenil, treba mi to napísať a ja urobím potrebný zásah.
Niekoľko endpointov:
Údaje v skladových kartách sa občas menia, pretože túto databázu používame na testovanie a tak sa tam občas objavia nové skladové karty.
Väčšina endpointov API je chránená a vyžaduje autorizáciu.
Jedno API je schopné obsluhovať viac pripojených databáz. Možno to využiť napríklad na testovanie a ostrú prevádzku. K API sa potom pristupuje nasledovne. Ostrá databáza je napríklad označená ako live
a ladiaca ako test
. Cesta k API stromu skladových kariet budú potom vyzerať ako.
/interface/live/eshop/v1/strom
/interface/test/eshop/v1/strom
Používa sa Bearer token. Pre každý e-shop, ktorý pristupuje k API je vygenerovaný osobitný token. Ten si treba vyžiadať, pokiaľ chcete testovať napríklad voči nášmu vývojárskemu serveru.
Požiadavka:
GET /interface/eshop/v1/databazy HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Authorization: Bearer <<sem to daj>>
Connection: keep-alive
Host: localhost:3001
User-Agent: HTTPie/0.9.9
Odpoveď:
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 18
Content-Type: application/json; charset=utf-8
Date: Fri, 29 Jun 2018 10:31:45 GMT
ETag: W/"12-wtEMEtTEKz+725HgPHGgR4hEFbU"
X-Powered-By: Express
{
"items": [
"test"
]
}