vlsv/pushkin-card-api

Клиент для работы с API Пушкинская карта

v1.0.5 2022-07-25 18:31 UTC

This package is auto-updated.

Last update: 2024-10-25 22:59:23 UTC


README

phpunit tests

Работа с билетами в рамках программы «Пушкинская карта»

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