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

2.2.0 2025-06-30 08:20 UTC

This package is auto-updated.

Last update: 2025-06-30 08:21:03 UTC


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 and apiKey
# 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.