1. Go to this page and download the library: Download aunhurian/nova-poshta-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aunhurian / nova-poshta-sdk example snippets
// Створення екземпляру SDK
$apiKey = 'ваш_api_ключ';
$sdk = new \AUnhurian\NovaPoshta\SDK\NovaPoshtaSDK($apiKey);
// Отримання списку міст
$cities = $sdk->address()->getCities(null, 'Київ');
// Параметри для пошуку відділень
$warehouseParams = [
'FindByString' => 'Відділення'
// інші параметри
];
// Отримання списку відділень
$warehouses = $sdk->address()->getWarehouses(
'8d5a980d-391c-11dd-90d9-001a92567626',
'Відділення',
1,
20
);
// Відстеження посилки
$trackingInfo = $sdk->tracking()->getStatusDocuments('59000000000000');
// Отримання списку областей
$areas = $sdk->address()->getAreas();
// Пошук населених пунктів
$settlements = $sdk->address()->searchSettlements('Київ');
// Отримання списку міст з фільтрацією
$cities = $sdk->address()->getCities(null, 'Київ', 1, 20);
// Отримання списку відділень
$warehouses = $sdk->address()->getWarehouses(
'8d5a980d-391c-11dd-90d9-001a92567626',
'Відділення',
1,
20
);
// Отримання типів відділень
$warehouseTypes = $sdk->address()->getWarehouseTypes();
// Отримання вулиць у місті
$streets = $sdk->address()->getStreet('city_ref', 'Хрещатик', 1, 10);
// Створення нового контрагента (фізична особа)
$counterparty = $sdk->counterparty()->save(
'PrivatePerson',
'Іван',
'Петренко',
'Васильович',
'380991234567',
'[email protected]'
);
// Створення нового контрагента (організація)
$counterparty = $sdk->counterparty()->save(
'Organization',
null,
null,
null,
null,
null,
'ТОВ "Компанія"',
'12345678'
);
// Пошук контрагентів
$counterparties = $sdk->counterparty()->getCounterparties(null, 'Пет', 1, 10);
// Отримання контактних осіб контрагента
$contactPersons = $sdk->counterparty()->getCounterpartyContactPersons(
'005056801329',
'Recipient'
);
// Отримання статусу одного відправлення
$status = $sdk->tracking()->getStatusDocuments('59000000000000');
// Отримання статусу декількох відправлень
$statuses = $sdk->tracking()->getStatusDocumentsBatch([
['DocumentNumber' => '59000000000000'],
['DocumentNumber' => '59000000000001'],
]);
// Отримання повної історії відправлення
$history = $sdk->tracking()->getStatusHistory('59000000000000');
// Отримання типів вантажу
$cargoTypes = $sdk->common()->getCargoTypes();
// Отримання списку типів оплати
$paymentTypes = $sdk->common()->getTypesOfPayment();
// Отримання списку типів платників
$payerTypes = $sdk->common()->getTypesOfPayers();
// Отримання списку типів послуг
$serviceTypes = $sdk->common()->getServiceTypes();
// Отримання часових інтервалів доставки
$timeIntervals = $sdk->common()->getTimeIntervals(
'db5c88de-391c-11dd-90d9-001a92567626',
'01.01.2023'
);
// Отримання повної відповіді API
$response = $sdk->requestWithFullResponse('Address', 'getAreas', []);
// Отримання даних з відповіді
$data = $response->getData();
// Перевірка статусу відповіді
$isSuccess = $response->isSuccess();
// Отримання попереджень
$warnings = $response->getWarnings();
// Отримання інформаційних повідомлень
$info = $response->getInfo();
// Отримання статус-коду HTTP
$statusCode = $response->getStatusCode();
// Отримання сирих даних відповіді
$rawData = $response->getRawData();
// Пряме використання API через SDK
$cities = $sdk->request('Address', 'getCities', ['FindByString' => 'Київ']);
// Пряме використання API з повною відповіддю
$response = $sdk->requestWithFullResponse('Address', 'getCities', ['FindByString' => 'Київ']);
$cities = $response->getData();
// Створення екземпляру SDK
$sdk = new \AUnhurian\NovaPoshta\SDK\NovaPoshtaSDK('your_api_key');
// Налаштування фейкових відповідей
$mockResponses = [
// Фейкова відповідь для запиту getAreas
'Address.getAreas' => [
'response' => [
'success' => true,
'data' => [
[
'Ref' => '71508128-9b87-11de-822f-000c2965ae0e',
'Description' => 'Київська область',
'AreasCenter' => '8d5a980d-391c-11dd-90d9-001a92567626',
]
],
'errors' => [],
'warnings' => [],
'info' => [],
],
],
// Фейкова відповідь з перевіркою параметрів
'Address.getCities' => [
// Це спрацює тільки якщо параметри включають 'FindByString' => 'Київ'
'params' => [
'FindByString' => 'Київ',
],
'response' => [
'success' => true,
'data' => [
[
'Ref' => '8d5a980d-391c-11dd-90d9-001a92567626',
'Description' => 'Київ',
]
],
'errors' => [],
'warnings' => [],
'info' => [],
],
],
// Фейкова відповідь для невдалого запиту
'Address.getWarehouses' => [
'response' => [
'success' => false,
'data' => [],
'errors' => ['Помилка API'],
'warnings' => [],
'info' => [],
],
'statusCode' => 400,
],
];
// Встановлення фейкових відповідей
$sdk->setMockResponses($mockResponses);
// Тепер SDK буде використовувати фейкові відповіді замість реальних API-запитів
$areas = $sdk->address()->getAreas();
// $areas буде містити фейкові дані
// Для запитів з перевіркою параметрів
$cities = $sdk->address()->getCities(null, 'Київ');
// $cities буде містити фейкові дані, оскільки параметри збігаються
// Очищення фейкових відповідей для повернення до нормальної поведінки
$sdk->clearMockResponses();