AUKRO API je soubor technických prostředků webových služeb. které slouží pro napojení systémů třetích stran za účelem řízení a administrace prodeje na portálu Aurko z vlastního prostředí. AUKRO API slouží výhradně pro potřeby prodeje, nikoliv nákupu a přihazování.
AUKRO API je v kontextu prodeje nástupcem staršího webAPI. Onboarding nových uživatelů na webAPI byl ukončen.
AUKRO API je živý produkt, který rozvíjíme na základě businessových požadavků jeho uživatelů.
REST Architektura
Aukro API zpřístupňuje funkce portálu Aukro prostřednictvím prvků založených na architektuře REST. Za tímto účelem využívá protokol HTTPS. Veškerá komunikace je kódovaná v UTF-8.
API a Webhooks
Aukro API podporuje oboustrannou komunikaci. Na straně jedné umožňuje třetím stranám přistupovat pomocí endpointů API dostupných na straně Aukra. Na straně druhé podporuje komunikaci pomocí webhook mechanismu.

Při komunikaci přes webhooky Aukro aktivně přistupuje k prostředkům třetí strany. Tímto způsobem předává třetí straně v reálném čase informace o událostech, které se týkají jejích nabídek a prodejů. Architektura webhooků pamatuje i na situace odstávek příp. výpadků serverů třetích stran tak, aby po opětovném zprovoznění došlo k automatickému zotavení.
TODO více zde
Metody HTTP
Každý z endpointů Aukro API poskytuje jednu nebo více následujících HTTP metod
- GET – používá se pro získání dat, na straně platfromy Aukro neprovádí žádné modifikace
- POST – používá se
- pro zadání/vytvoření nových dat/objektů na straně platformy Aukro
- pro předávání informací o událostech třetí straně prostřednictvím webhooku
- PUT – používá se k úpravě/aktualizaci dat/objektů na straně platformy Aukro
- DELETE – používá se k odstranění/zneplatnění/smazání dat/objektů na straně platformy Aukro
AUKRO API server
K prostředkům API na straně Aukro se přistupuje výhradně pomocí protokolu HTTPS na adrese TODO(api.aukro.cz/api/)
$ curl -i https://api.aukro.cz/api/
TODO
Formát výměny dat
Formát předávaných i získávaných dat v rámci všech prostředků AUKRO API je výhradně JavaScript Object Notation (JSON).
{
}
Každý POST požadavek na AUKRO API musí obsahovat HTTP hlavičku Content-Type: application/json.
Výjimku s výše uvedeného tvoří předávání binárních dat jakými jsou například fotografie vystavovaného zboží. V takovém případě se nepoužívá JSON a musí být použita odpovídající HTTP hlavička jako např. Content-Type: mulitpart/form-data
Hlavní funkce API
AUKRO API je tematicky děleno do následujících funkčních okruhů
- nabídky
- prodeje/objednávky
AUKRO API je předmětem kontinuálního rozvoje. Postupně budeme možnosti v rámci uvedených okruhů rozšiřovat a současně přidávat okruhy další tak, abychom pokryli celou škálu uživatelských scénářů v kontextu prodeje jako je např. oblast komunikace s kupujícími a smlouvání.
Uživatelský účet a autorizace
Pro komunikaci s AUKRO API je nutné mít
- vytvořený a nezablokovaný uživatelský účet na Aukru s aktivací pro prodej
- pro takový uživatelský účet aktivovaný přístup přes AUKRO API
Každé vystavení je zpoplatněno dle aktuálního ceníku aukro.
Parametry
Verzování EP a API
Statusy HTTP
API
Každý výsledek volání endpointu AUKRO API obdahuje na úrovni HTTP vždy jeden z uvedených stavových kódů
- 200 (OK) – pro metody GET, PUT v případě synchronních operací
- 201 (Created) – pro metody POST, vytvoření nové datové entity
- 202(Accepted) – pro metody POST, PUT, DELETE v případě asynchronních operací
- 204 (No content) – pro potvrzující, ale prázdné odpovědi, typicky pro metody DELETE
- 304 (Not Modified) – pro data z cache, bez uprav existujících
- 400 (Bad Request) – nesprávné volání, chybný formát vsutpních dat atp.
- 401 (Unauthorized) – přístup ke zdroji bez patřičného oprávnění
- 403 (Forbidden) – přístup ke zdroji bez patřičného oprávnění
- 404 (Not Found) – požadavek na neexistující entitu
- 410 (Gone) – používá se u deprecated zdrojů verzi před tím, než bude zdroj zcela odstraněn
- 500 (Internal Server Error) – chyba zpracování na serveru
- 501 (Not Implemented) – pro volání pracovních či prototypových zdrojů, které jsou účelově veřejně dostupné
Webhooks
TODO: návratové