vlsv / pushkin-card-api
Клиент для работы с API Пушкинская карта
v1.0.5
2022-07-25 18:31 UTC
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.1
Requires (Dev)
- fakerphp/faker: ^1.19
- friendsofphp/php-cs-fixer: ^3.8
- laravel/pint: ^0.2.3
- phpunit/phpunit: ^9.5
README
Работа с билетами в рамках программы «Пушкинская карта»
API для передачи информации в реестр сведений о билетах - docs.culture.ru/tickets
Официальная документация - docs.culture.ru/documents
Требования
- php 8.1 и выше
- php-ext-curl
- php-ext-json
- php-ext-mbstring
Установка библиотеки
composer require vlsv/pushkin-card-api
Использование
require_once(__DIR__ . '/vendor/autoload.php'); $config = new ClientConfig( accessToken: 'your_access_token', host: 'https://pushka-uat.test.gosuslugi.ru/api/v1' ); $visitor = new \Vlsv\PushkinCardApi\Model\Visitor(...); $buyer = new \Vlsv\PushkinCardApi\Model\Buyer(...); $session = new \Vlsv\PushkinCardApi\Model\Session(...); $payment = new \Vlsv\PushkinCardApi\Model\Payment(...); $createTicketRequest = new \Vlsv\PushkinCardApi\Model\CreateTicketRequest( barcode: $barcode, barcode_type: $barcodeType, visitor: $visitor, buyer: $buyer, session: $session, payment: $payment, comment: '' ); $apiClient = new ApiClient( client: new GuzzleHttp\Client(), config: $config ); // Добавление билета в реестр. try { $ticket = $apiClient->postTicket($createTicketRequest); echo $ticket->getId(); } catch (\Throwable $exception) { echo $exception->getMessage(); } // Больше примеров использования в тестах.
API Endpoints
Продавцы билетов
Контролёры билетов
Спецификация - tickets. Актуальная спецификация - docs.culture.ru/tickets.
Тесты
Создать и настроить переменные окружения в файле phpunit.xml
. EVENT_ID
, ORGANIZATION_ID
, ACCESS_TOKEN
, UAT_HOST
запросить в службе поддержки docs.culture.ru/.
cp phpunit.xml.dist phpunit.xml
Запуск тестов
Все группы.
composer tests
Только юнит.
composer tests-unit
Только интеграционные.
composer tests-integration