ATOL API v4 client for PHP
Usage is as simple as
-
Install library
composer require ttbooking/atol-client
-
Configure it (you will probably need some factory):
<?php declare(strict_types=1); namespace Lamoda\AtolClient\Tests\Helper; use GuzzleHttp\ClientInterface; use JMS\Serializer\Serializer; use JMS\Serializer\SerializerBuilder; use Lamoda\AtolClient\Converter\ObjectConverter; use Lamoda\AtolClient\V4\AtolApi; use Symfony\Component\Validator\Validation; use Symfony\Component\Validator\Validator\ValidatorInterface; final class AtolApiFactory { public static function create( ClientInterface $client, array $options, string $baseUrl ): AtolApi { $objectConvertor = new ObjectConverter( self::createSerializer(), self::createValidator() ); return new AtolApi( $objectConvertor, $client, $options, $baseUrl ); } private static function createSerializer(): Serializer { return SerializerBuilder::create() ->enableEnumSupport() ->build(); } private static function createValidator(): ValidatorInterface { return Validation::createValidatorBuilder() ->enableAttributeMapping() ->getValidator(); } }