Download the PHP package pionyr/pionyr-cz-client without Composer
On this page you can find all versions of the php package pionyr/pionyr-cz-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pionyr/pionyr-cz-client
More information about pionyr/pionyr-cz-client
Files in pionyr/pionyr-cz-client
Package pionyr-cz-client
Short Description PHP API Client for API provided by Pionyr.cz
License MIT
Informations about the package pionyr-cz-client
PHP API klient pro Pionyr.cz
Pro využití například na webech krajských organizací poskytuje web pionyr.cz API, skrze které se dají načítat články, akce, termíny a seznamy jednotek (pionýrských skupin, oddílů, klubů).
Tato knihovna poskytuje nástroje pro snadnou práci s tímto API. Knihovna vyžaduje PHP verze 7.3 a novější.
Instalace
Instalace knihovny se provede skrze Composer. Instalaci je možno spustit tímto příkazem:
Čímž se nainstaluje API klient, který bude používat jako transportní HTTP knihovnu Guzzle 7.
Knihovna používá pro HTTP abstrakci za využití specifikací PSR-7, PSR-17 a PSR-18. Není tak svázána s konkrétní
HTTP knihovnou. Díky tomu je dle potřeby možné použít i jinou HTTP knihovnu (např. takovou, kterou již využívá PHP framework,
ve kterém máme aplikaci, např. symfony/http-client
).
Viz seznam podporovaných HTTP knihoven.
Pokud bychom chtěli použít jako transportní knihovnu místo Guzzle 7 například cURL, nainstalujeme API klienta tímto příkazem:
Použití
Pro použití potřebujeme znát API token, který přidělí Ústředí Pionýra. Tokenem je zároveň identifikován uživatel a je tím stanoven i rozsah přístupů (např. tokenem vystaveným pro jeden kraj nemůžeme přistupovat k seznamu akcí jiného kraje apod.).
Token se také váže na doménu (instanci) API - v případě použití testovací instance API je třeba rovněž použít token, vystavený právě pro tuto instanci (token pro "produkční" instanci zde nebude fungovat).
Na začátku práce s API je třeba nejprve vytvořit instanci objektu PionyrCz
a předat mu API token:
Pokud chceme pracovat s jinou instancí API než "produkční" na pionyr.cz, můžeme nastavit tzv. base URL API:
V dalších ukázkách se pracuje s tímto objektem $pionyrCz
.
Cachování odpovědí
Odpovědi z API je vhodné cachovat. Ukázku nastavení cachování pomocí PSR-6 je možné najít v souboru examples/caching.php.
Články
Načtení seznamu článků
Vracejí se pouze publikované články odpovídající právům daného tokenu, které se mají momentálně zobrazovat.
Seznam je stránkovaný po 30 položkách na stránku a je možné jej filtrovat dle kategorie článku.
Načtení detailu jednoho článku
Detail článku obsahuje stejné položky, jako jeden článek v seznamu, a k tomu je doplněn o další údaje.
Akce
Načtení seznamu akcí
Vracejí se pouze akce odpovídající právům daného tokenu.
Seznam je stránkovaný po 30 položkách na stránku a je možné jej filtrovat dle kategorie akce a dle termínu akce (jako výchozí se načítají akce, mající datum začátku dnes nebo v budoucnu).
Načtení detailu jedné akce
Detail akce obsahuje stejné položky, jako jedna akce v seznamu, a k tomu je doplněn o další údaje.
Jednotky
Pionýrské skupiny
Vracejí se pouze skupiny odpovídající právům daného tokenu (podjednotky kraje).
Seznam je stránkovaný po 50 položkách na stránku.
Oddíly
Zatím neimplementováno.
Kluby
Zatím neimplementováno.
Výjimky a zpracování chyb
Výjimky, ke kterým dojde v API klientovi při zpracování požadavků/odpovědí, implementují rozhraní Pionyr\PionyrCz\Exception\PionyrCzExceptionInterface
.
Strom výjimek:
Výjimka | Thrown when |
---|---|
PionyrCzExceptionInterface | Společné rozhraní pro všechny výjimky API klienta |
└ ClientErrorException | Chyba při odeslání požadavku - chybná data apod. |
└ AuthorizationException | Neautentizovaný požadavek, chybný API token |
└ ServerErrorException | Chyba při odpovědi serveru - výpadek služby apod. |
└ ResponseDecodingException | Odpověd obsahuje chybná data |
V případě použití vlastní instance HTTP klienta (tedy pokud voláme $pionyrCz->setHttpClient()
) je třeba zajistit,
aby byl nastaven tak, že v případě HTTP chyb (400 a 500) nevyhazuje sám výjimky. Například při použití Guzzle 6 klienta
to znamená že nastavení http_errors
musí být false
.
Changelog - seznam změn
Pro seznam změn viz soubor sémantické verzování.
Licence
Knihovna je zveřejněna jako open-source pod licencí MIT.
All versions of pionyr-cz-client with dependencies
ext-json Version *
ext-mbstring Version *
beberlei/assert Version ^3.0
fig/http-message-util Version ^1.1
myclabs/php-enum Version ^1.6
pascaldevink/shortuuid Version ^3.0
php-http/client-common Version ^2.3
php-http/discovery Version ^1.4
php-http/httplug Version ^2.2
php-http/message Version ^1.11
php-http/message-factory Version ^1.0
php-http/promise Version ^1.1
psr/http-message Version ^1.0
ramsey/uuid Version ^4.1