tomas-kulhanek / czech-data-box
PHP library for connection to Integrated system of data box (ISDS) in Czech republic
Fund package maintenance!
tomas-kulhanek
vojmani
Installs: 2 454
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 5
Requires
- php: >=8.1
- ext-curl: *
- ext-dom: *
- ext-mbstring: *
- ext-openssl: *
- ext-xml: *
- symfony/validator: ^6.0
- tomas-kulhanek/serializer: ^2.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.3
- nyholm/psr7: ^1.4
- php-http/httplug: ^2.2
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.2
- rector/rector: ^0.17.7
- symfony/http-client: 5.4.*|6.*
- symplify/easy-coding-standard: ^12.0
Suggests
- ext-curl: for comunication with czech databox servers
- guzzlehttp/guzzle: for usage with guzzle
- symfony/http-client: for usage with symfony
README
⚠ POZOR!! Pokud implementujete napojení na ISDS, je potřeba aby jste se řídili dle PROVOZNÍHO ŘÁDU⚠
Instalace
Composer
Pro instalaci balíčku je nutné jej instalovat skrze composer.
composer require tomas-kulhanek/czech-data-box
Dále je potřeba využít nějakého klienta. Buď je možné využít Guzzle nebo Symfony Http client
composer require tomas-kulhanek/czech-data-box guzzlehttp/guzzle:^7.0
composer require tomas-kulhanek/czech-data-box symfony/http-client
Pokud je potřeba implementovat vlastního klienta, je potřeba implementovat rozhraní TomasKulhanek\CzechDataBox\Provider\ClientProviderInterface
a zajistit správné nastavení hlaviček nebo SSL klientských certifikátů.
Popis
Tato knihovna slouží k základní komunikaci s Informačním systémem datových scrhánek ISDS nebo ISDS test
Veškeré ukázky, jak pracovat s knihovnou naleznete v examples. Jediná podmínka ke zprovoznění je ta, že musíte vlastnit své přístupové údaje.
Základní použití
Pro každou operaci je potřebné zadat přístupové údaje
<?php $account = new \TomasKulhanek\CzechDataBox\Account(); try { $account->setPassword('mojeTajneHeslo') ->setLoginName('mujLogin') ->setLoginType($account::LOGIN_NAME_PASSWORD) ->setProduction(false); } catch (\TomasKulhanek\CzechDataBox\Exception\BadOptionException $exception) { die($exception->getMessage()); }
Prostředí ke kterému se připojuje je definováno pomocí \TomasKulhanek\CzechDataBox\Account::isProduction()
Využití s Symfony HTPP client
Instalace
composer require tomas-kulhanek/czech-data-box symfony/http-client
Využitví
$serializer = \TomasKulhanek\Serializer\SerializerFactory::create(); $guzzleProvider = \TomasKulhanek\CzechDataBox\Provider\SymfonyClientProvider::create(); $connector = new \TomasKulhanek\CzechDataBox\Connector($serializer, $guzzleProvider);
Využití s Guzzle 7
Instalace
composer require tomas-kulhanek/czech-data-box guzzlehttp/guzzle:^7.0
Využitví
$serializer = \TomasKulhanek\Serializer\SerializerFactory::create(); $guzzleProvider = \TomasKulhanek\CzechDataBox\Provider\GuzzleClientProvider::create(); $connector = new \TomasKulhanek\CzechDataBox\Connector($serializer, $guzzleProvider);
Pomoc a řešní chyb
V případě že potřebujete poradit, nebo při implementaci Vám třída zobrazuje chybu vytvořte prosím nové Issues. Základní pomoc je poskytována zcela zdarma pomocí Issues.
Odkazy
- Produkční ISDS - https://mojedatoveschranky.cz
- Testovací ISDS - https://czebox.cz
- Software602, a.s. - https://602.cz
- Provozní řád ISDS - https://www.datoveschranky.info/dulezite-informace/provozni-rad
- Oznamované změny - https://www.datoveschranky.info/
Žádosti o zřízení datové schránky
Produkční prostředí
Testovací prostředí
- všechny - okdaz
Časté otázky
Proč CURL a ne SoapClient?
Důvod je jednoduchý. Jelikož PHP nedokázalo správně zpracovávat pomocí ClassMap request/response viz bug. Z toho důvodu, jsme zvolili využití curl a serializeru. Problém byl například v CreateMessage a proto jsme na internetu nikde nenašli knihovnu, která by umožňovala odesílání datových zpráv.