answear / boxnow-bundle
Symfony bundle for BoxNow API.
Installs: 6 856
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^8.4
- ext-json: *
- guzzlehttp/guzzle: ^7.8.2
- guzzlehttp/psr7: ^2.6
- psr/log: ^1.1||^2.0||^3.0
- symfony/http-kernel: ^7.0
- symfony/property-info: ^7.0
- symfony/serializer: ^7.0
- symfony/serializer-pack: ^1.3
- webmozart/assert: ^1.11
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64
- matthiasnoback/symfony-config-test: ^5.2
- phpro/grumphp: ^2.8
- phpstan/phpstan: ^2.1
- phpstan/phpstan-webmozart-assert: ^2.0
- phpunit/phpunit: ^10.5.27
- roave/security-advisories: dev-master
- symfony/phpunit-bridge: ^7.0.3
README
BoxNow integration for Symfony.
Documentation of the API can be found here: https://boxnow.gr/en/partner-api
Installation
- install with Composer
composer require answear/boxnow-bundle
Answear\BoxNowBundle\AnswearBoxNowBundle::class => ['all' => true],
should be added automatically to your config/bundles.php
file by Symfony Flex.
Setup
- provide required config data:
environment
andapiKey
# config/packages/answear_boxnow.yaml answear_box_now: clientId: yourClientId clientSecret: yourClientSecret apiUrl: apiUrl #default: 'https://locationapi-stage.boxnow.gr' logger: customLogger #default: null
Logger service must implement Psr\Log\LoggerInterface interface.
Usage
Authorization
/** @var \Answear\BoxNowBundle\Service\AuthorizationService $authorizationService **/ $auth = $authorizationService->authorize(); $auth->getAccessToken(); $auth->getExpiresIn(); $auth->getTokenType();
will return \Answear\BoxNowBundle\Response\AuthorizationResponse
.
Pickup points
/** @var \Answear\BoxNowBundle\Service\PickupPointService $pickupPoints **/ $pickupPoints->getAll(token: 'accessToken');
will return \Answear\BoxNowBundle\DTO\PickupPointDTO[]
.
Or with locationapi (ex. https://locationapi-stage.boxnow.gr/v1/apms_el-GR.json)
/** @var \Answear\BoxNowBundle\Service\PickupPointService $pickupPoints **/ $pickupPoints->getAllByRegion(\Answear\BoxNowBundle\Enum\RegionEnum::Cyprus);
will return \Answear\BoxNowBundle\DTO\PickupPointDTO[]
only for Cyprus (available Greece, Cyprus, Croatia).
Final notes
Feel free to open pull requests with new features, improvements or bug fixes. The Answear team will be grateful for any comments.