Slevomat Zboží API PHP Library
, (*1)
Dokumentace Zboží API, (*2)
Tato knihovna slouží pro implementaci komunikace Partner -> Slevomat., (*3)
Knihovna vyžaduje verzi PHP 7.4 nebo vyšší a předpokládá využití nástroje Composer., (*4)
Instalace knihovny
composer require slevomat/zbozi-api-library
Použití knihovny
V repozitáři se nachází soubor examples.php
s ukázkovým použitím. API se volá skrze metody na objektu \SlevomatZboziApi\ZboziApiClient
., (*5)
Objekt se vytvoří nejsnáze pomocí továrničky:, (*6)
$client = \SlevomatZboziApi\ZboziApiClientFactory::create($partnerToken, $apiSecret, $apiUrl, $timeout, $logger); // logger a timeout jsou nepovinné
Při volání metod klienta se volá API Slevomatu. Např.:, (*7)
$expectedDeliveryDate = $client->markGettingReadyForPickup($orderId);
Chybové stavy
Při volání API může dojít k řadě chyb. Vyhazují se následující výjimky:, (*8)
-
\SlevomatZboziApi\Request\ConnectionErrorException
- nepodařilo se připojit na API, požadavek zopakujte
V případě, že se na API podaří připojit, může knihovna vyhodit následující chyby (všechny jsou typu \SlevomatZboziApi\Request\InvalidRequestException
):, (*9)
-
\SlevomatZboziApi\Request\InvalidCredentialsException
- neplatné přihlašovací údaje
-
\SlevomatZboziApi\Request\OrderNotFoundException
- neexistující objednávka
-
\SlevomatZboziApi\Request\OrderItemNotFoundException
- neexistující položka objednávky
-
\SlevomatZboziApi\Request\InvalidStatusChangeException
- přechod objednávky do nepovoleného stavu
-
\SlevomatZboziApi\Request\InvalidCancelException
- neplatné storno - stornování většího počtu položek, než existuje
-
\SlevomatZboziApi\Request\OtherRequestErrorException
- jiná chyba
-
\SlevomatZboziApi\Request\OrderNotExportedException
- objednávka nebyla ještě exportována do partnerského API - nelze s ní skrze API manipulovat
Všechny výjimky InvalidRequestException
mají metodu getMessages()
, která slouží k získání chybových zpráv, které vrátil server., (*10)
U těchto chyb je potřeba před opakovaný pokusem opravit odesílaný požadavek. V případě odesílání stejného požadavku dojde pravděpodobně ke stejné chybě., (*11)
Všechny výjimky v knihovně implementují interface SlevomatZboziApi\ZboziApiException
, pokud nepotřebujete reagovat na každý chybový stav zvláštním způsobem, lze chytat tento typ., (*12)
Logování požadavků
Knihovna podporuje volitelně logování požadavků. Pro implementaci logování použite interface \SlevomatZboziApi\ZboziApiLogger
., (*13)
Ukázkový logger, který informace o požadavcích rovnou vypisuje, je v repozitáři v souboru ExampleLogger.php
., (*14)