floac/laravel-ukrpost

UkrPoshta api integration

1.0.1 2024-04-15 22:41 UTC

This package is auto-updated.

Last update: 2025-05-17 19:39:08 UTC


README

composer require floac/laravel-ukrpost

Реалізовано

Доступний функціонал:

  • Адресний класифікатор
    • regions - Отримання переліку областей.
    • districts - Отримання переліку районів.
    • cities - Отримання переліку населених пунктів.
    • streets - Отримання переліку вулиць.
    • houses - Отримання переліку будинків вулиць.
    • post offices - Отримання інформації про поштове відділення.
    • post offices open hours - Отримання інформації про графік роботи поштового відділення.
    • post offices by geolocation - Отримання інформації про найближчі поштові відділення.
    • city by postcode - Отримання інформації про населений пункт за індексом.
    • address by postcode - Отримання адресної інформації за індексом.
  • Адреси - створення адрес. (для створення відправки)
  • Клієнти - створення клієнтів. (для створення відправки)
  • Відправка - створення відправки

Address classifier

Get regions

Отримання переліку областей

Floac\Ukrpost\Facades\Dictionary::regions(string $region_ua = null);

Get districts

Отримання переліку районів

Floac\Ukrpost\Facades\Dictionary::districts(string $district_ua = null, int $region_id = null);

Get cities

Отримання переліку населених пунктів

Floac\Ukrpost\Facades\Dictionary::cities(string $city_ua = null, int $district_id = null, int $region_id = null);

Get streets

Отримання переліку вулиць

Floac\Ukrpost\Facades\Dictionary::streets(string $street_ua = null, int $city_id = null, int $district_id = null, int $region_id = null);

Get houses

Отримання переліку будинків вулиць

Floac\Ukrpost\Facades\Dictionary::houses(int $street_id, string $housenumber = null);

Get post offices

Отримання інформації про поштове відділення

Floac\Ukrpost\Facades\Dictionary::postOffices(string $zip_code = null, int $street_id = null, int $city_id = null, int $district_id = null, int $region_id = null);

Get post offices open hours

Отримання інформації про графік роботи поштового відділення

Floac\Ukrpost\Facades\Dictionary::postOfficesOpenHours(string $zip_code, int $post_office_id = null);

Get post offices by geolocation

Отримання інформації про найближчі поштові відділення

Floac\Ukrpost\Facades\Dictionary::postOfficesByGeolocation(float $lat, float $long, int $maxdistance = 1);

Get city by postcode

Отримання інформації про населений пункт за індексом

Floac\Ukrpost\Facades\Dictionary::citiesByPostcode(string $postcode);

Get address by postcode

Отримання адресної інформації за індексом

Floac\Ukrpost\Facades\Dictionary::addressesByPostcode(string $postcode);

Відправки

Address

Створення адреси

    $api = new Floac\Ukrpost\Document\Api(
        'bearerToken',
        'counterpartyToken'
    );

    $address = new Floac\Ukrpost\Document\Models\Address($api);

    $address->set(
        postcode: '07401',
        country: 'UA',
        region: 'Київська',
        city: 'Бровари',
        district: 'Київський',
        street: 'Котляревського',
        houseNumber: '12',
        apartmentNumber: '33'
    );

    $address->save();

Clients

Створення клієнта

    $api = new Floac\Ukrpost\Document\Api(
        'bearerToken',
        'counterpartyToken'
    );

    $client = new Client($api);

    $client->set(
        firstName: 'Олександр',
        lastName: 'Петренко',
        phone: 380663443224,
        address: $address,
    );

    $client->save();

Document

Створення відправки

    $api = new Floac\Ukrpost\Document\Api(
        'bearerToken',
        'counterpartyToken'
    );

    $document = new Document($api);

    $document->save($senderClient, $recipientClient, $parcel);