Feedy
Data o dostupnosti jsou přístupná pomocí feedů. Každý obchod může mít vytvořeno více feedů podle jeho potřeb. Feed má unikátní URL adresu, která se nikdy nemění.
Přístup k datům feedu může být navíc zabezpečen pomocí API klíče, který systém automaticky vygeneruje.
Použití API klíče
API klíč se předává pomocí Authorization
hlavičky, může být použita jak Token
, tak Bearer
prefix pro klíč. Příklad hlavičky:
Authorization: Token API_KEY
Příklad volání API:
curl -H "Authorization: Token API_KLIC" https://kouzelnysklad.cz/api/v1/feeds/ID
Hlavní feed
Hlavní feed je feed, který obsahuje kompletní informace o dostupnosti všech produktů.
- Adresa API:
https://kouzelnysklad.cz/api/v1/feeds/ID
Příklad volání:
curl -H "Authorization: Token 5EpGRo1s91kTxO_sdYrZ1fABgidxkkO" \
https://kouzelnysklad.cz/api/v1/feeds/ID
Změnový feed
Změnový feed je feed, který obsahuje pouze záznamy o změně dostupnosti. Pokud chcete zjistit, u kterých produktů došlo ke změně dostupnosti v určitou dobu, použijte změnový feed.
Změny v určitém čase
URL pro změny v čase:
https://kouzelnysklad.cz/api/v1/feeds/FEED_ID/changes?from=CAS_ZACATEK&to=CAS_KONEC
Možné GET parametry:
from
- (povinné) počáteční datum/čas - budou vráceny změny, které nastaly později než v určený často
- (nepovinné) konečné datum/čas - budou vráceny změny, které nastaly v tento čas nebo dříve
Formát data: %Y-%m-%d %H:%M:%S %z
- Y - rok (2000)
- m - měsíc (01)
- d - den v měsící (31)
- H - hodina
- M - minuta
- S - sekundy
- z - identifikátor časové zóny (UTC, CET, +0100)
Příklad datumu:
2022-02-16 12:00:00 +0100
Příklad volání:
curl https://kouzelnysklad.cz/api/v1/feeds/12998e93/changes?from=2022-02-16+12%3A00%3A00+%2B0100
Automatické poslední změny
URL pro automatické poslední změny:
https://kouzelnysklad.cz/api/v1/feeds/FEED_ID/changes/recent
Toto API nepřijímá žádné parametry. Vrací změny, které si zatím nikdo nevyzvedl. Zavoláním tohoto API dojde k posunu poslední vyzvednuté změny a při dalším zavolání se vrátí prázdná odpověď, dokud nedojde opět ke změně dostupnosti.
Jedno volání vrací maximálně 5000 záznamů, pro vyzvednutí všech změn je tedy nutné volání opakovat, dokud se nevrátí prázdná odpověď.
Pozor: Toto volání mění stav feedu, každý změnový záznam vrací pouze jednou.