nabytek-forliving/api-client

Nábytek FORLIVING API Client

v1.0 2018-02-28 09:21 UTC

This package is not auto-updated.

Last update: 2024-04-19 05:19:27 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:

  1. 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);
  1. 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.