PHP knihovna pro komunikaci s Informačním systémem datových schránek (ISDS) Ministerstva vnitra
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.