slevomat / zbozi-api-library
Slevomat Zboží API PHP library
Installs: 2 883
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 18
Forks: 2
Open Issues: 1
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.4.1 || ^7.0.1
Requires (Dev)
- phing/phing: ^2.16.3
- php-coveralls/php-coveralls: ~2.4
- php-parallel-lint/php-parallel-lint: ~1.2
- phpstan/phpstan: ^0.12.54
- phpstan/phpstan-phpunit: ^0.12.16
- phpstan/phpstan-strict-rules: ^0.12.4
- phpunit/phpunit: ^8.5.14 || ^9.3.7
- slevomat/coding-standard: ^6.3.10
This package is auto-updated.
Last update: 2024-11-29 04:57:39 UTC
README
Tato knihovna slouží pro implementaci komunikace Partner -> Slevomat.
Knihovna vyžaduje verzi PHP 7.4 nebo vyšší a předpokládá využití nástroje Composer.
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
.
Objekt se vytvoří nejsnáze pomocí továrničky:
$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ř.:
$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:
\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
):
\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.
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ě.
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.
Logování požadavků
Knihovna podporuje volitelně logování požadavků. Pro implementaci logování použite interface \SlevomatZboziApi\ZboziApiLogger
.
Ukázkový logger, který informace o požadavcích rovnou vypisuje, je v repozitáři v souboru ExampleLogger.php
.