tomas-kulhanek/czech-data-box

PHP library for connection to Integrated system of data box (ISDS) in Czech republic

v4.0.3 2023-09-07 11:07 UTC

README

DEV branch workflows Latest Stable Version Total Downloads Monthly Downloads License

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

Žádosti o zřízení datové schránky

Produkční prostředí

Testovací prostředí

Č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.