BoxNow integration for Symfony.
Documentation of the API can be found here: https://boxnow.gr/en/partner-api
composer require answear/boxnow-bundle
Answear\BoxNowBundle\AnswearBoxNowBundle::class => ['all' => true],
should be added automatically to your config/bundles.php file by Symfony Flex.
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.
/** @var \Answear\BoxNowBundle\Service\AuthorizationService $authorizationService **/
$auth = $authorizationService->authorize();
$auth->getAccessToken();
$auth->getExpiresIn();
$auth->getTokenType();
will return \Answear\BoxNowBundle\Response\AuthorizationResponse.
/** @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, Bulgaria).
Feel free to open pull requests with new features, improvements or bug fixes. The Answear team will be grateful for any comments.
How can I help you explore Laravel packages today?