nabytek-forliving / api-client
Nábytek FORLIVING API Client
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.3
- nette/caching: ^2.5
- nette/http: ^2.4
Requires (Dev)
- nette/bootstrap: ^2.4.3
- nette/robot-loader: ^2.4 || ^3.0
- nette/security: ^2.4
- nette/tester: ^2.0
- psr/log: dev-master
- tracy/tracy: ^2.4
This package is not auto-updated.
Last update: 2025-05-02 10:11:46 UTC
README
Projektová dokumentace | Dokumentace FORLIVING API
Tato knihovna slouží pro implementaci komunikace Partner ⇔ Forliving.
Knihovna vyžaduje verzi PHP 5.6 nebo vyšší a předpokládá využití nástroje Composer.
Instalace knihovny
composer require nabytek-forliving/api-client
Použití knihovny
API se volá skrze metody na objektu \Forliving\Api\Client
.
Objekt se vytvoří ve 2 krocích:
- Nejprve se vytvoří továrnička, ve které bude specifikováno úložiště pro dočasné soubory
$cacheDir = __DIR__; // složka s cache
$storage = new \Nette\Caching\Storages\FileStorage($cacheDir);
$clientFactory = new \Forliving\Api\ClientFactory($storage);
- Z továrničky se vytvářejí jednotliví klienti
$client = $clientFactory->create($url, // URL instance
$username, // uživatelské jméno
$apiKey // API klíč
);
- URL instance, uživatelské jméno a API klíč získáte z administrace.
Při volání metod klienta se volá API Forlivingu. Např.:
$product = $client->products->get($productId);
⋮
$products = $client->products->whereCodeInternal($code)->fetchAll();
⋮
foreach ($client->products->whereCodeInternal($code)->fetchAll() as $product) {
⋮
}
Rozšíření pro Nette Framework
Používáte-li Nette Framework, je zavedení ještě jednodušší.
Zkopírujte předpřipravený soubor z
docs/config/config.api-client.extension.neon
do vaší složky s konfigurací projektu a přidejte si jej v hlavním konfiguračním souboru (app/config.neon
)
includes:
- config.api-client.extension.neon
Chybové stavy
Při volání API může dojít k řadě chyb. Vyhazují se následující výjimky:
\Forliving\Api\Request\ConnectionException
- 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 Forliving\Api\Exception
):
\Forliving\Api\Request\InvalidCredentialsException
- neplatné přihlašovací údaje\Forliving\Api\Request\NotFoundException
- neexistující objekt\Forliving\Api\Request\ProductNotFoundException
- neexistující produkt\Forliving\Api\Request\OrderNotFoundException
- neexistující objednávka
\Forliving\Api\Request\InvalidOrderStatusChangeException
- přechod objednávky do nepovoleného stavu\Forliving\Api\Request\InvalidOrderCancelException
- neplatné storno\Forliving\Api\Request\OtherRequestErrorException
- jiná chyba
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 Forliving\Api\Exception
, pokud nepotřebujete reagovat na každý
chybový stav zvláštním způsobem, lze odchytávat tento typ.