answear/overseas-bundle

Symfony bundle for Overseas api.

Installs: 7 973

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:symfony-bundle

2.1.1 2024-03-01 07:05 UTC

This package is auto-updated.

Last update: 2024-03-30 07:17:44 UTC


README

Overseas integration for Symfony.
Documentation of the API can be found here: https://api.overseas.hr/apiinfo

Installation

  • install with Composer
composer require git@github.com:answear/overseas-bundle.git

Answear\OverseasBundle\AnswearOverseasBundle::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_overseas.yaml
answear_overseas:
    environment: test|prod
    apiKey: yourApiKey
    logger: yourCustomLoggerService #default: null

Logger service must implement Psr\Log\LoggerInterface interface.

Usage

Get ParcelShops

@see https://api.overseas.hr/apiinfo#parcelshops

/** @var \Answear\OverseasBundle\Service\ParcelShopsService $parcelShopService **/
$parcelShopService->get();

will return \Answear\OverseasBundle\Response\DTO\ParcelShop[] array.

Get Places

@see https://api.overseas.hr/apiinfo#places

$zipCode = 12345;
$name = 'name';
$approx = true;

/** @var \Answear\OverseasBundle\Service\PlacesService $placesService **/
$placesService->get($zipCode, $name, $approx);

will return \Answear\OverseasBundle\Response\DTO\Place[] array narrowed down to params. or simply

$placesService->get();

to get all places.

Error handling

  • Answear\OverseasBundle\Exception\ServiceUnavailableException for all GuzzleException
  • MalformedResponseException for partner other errors
  • Answear\OverseasBundle\Exception\BadRequestException if validation failed or for error response

Final notes

Feel free to open pull requests with new features, improvements or bug fixes. The Answear team will be grateful for any comments.