Search by

daaner / novaposhta

Daaner

NovaPoshta (API 2.0) for Laravel 7+

Package info

github.com/daaner/novaposhta

Issues

pkg:composer/daaner/novaposhta

Statistics

Installs: 29 550

Dependents: 1

Suggesters: 0

Stars: 36

1.5 2026-10-22 15:28 UTC

This package is auto-updated.

Last update: 2026-10-22 15:49:35 UTC


README

Українська | Русский

Scrutinizer Code Quality Laravel Support PHP Support Official Site

Latest Stable Version Total Downloads License

Керування відправленнями NovaPoshta (novaposhta.ua) за допомогою фреймворку Laravel 7 і новіших (Laravel).

Зручний пакет для відправлення та перевірки ТТН через сервіс NovaPoshta.ua

УВАГА

// Не доробив і не протестував усі моделі
// використовуйте гілку `dev-master`
// У ній усе найновіше. Документацію намагаюся не затягувати

Laravel > 7, PHP >= 7.2.5

Мінімальна версія Laravel 7.0, для нижчої версії потрібно використовувати guzzle/guzzle

Працює на Laravel 10 і PHP 8.3 (Laravel 11 не перевірявся, але має працювати)

Встановлення

Встановіть пакет через Composer.

composer require daaner/novaposhta

Якщо ви НЕ використовуєте autodiscover - додайте сервіс-провайдер у конфігураційний файл config/app.php.

Daaner\NovaPoshta\NovaPoshtaServiceProvider::class,

Додайте фасад NovaPoshta до масиву в config/app.php:

'NovaPoshta' => Daaner\NovaPoshta\Facades\NovaPoshta::class,

Опублікуйте конфіг і файли локалізації командою:

php artisan vendor:publish --provider="Daaner\NovaPoshta\NovaPoshtaServiceProvider"

Конфігурація

Після публікації ресурсів відредагуйте файл config/novaposhta.php і заповніть .env новими полями.

  • Створіть акаунт на сайті novaposhta.ua
  • Скопіюйте Ключ API у налаштуваннях безпеки в розділі Мої ключі API і додайте у відповідний параметр у config/novaposhta.php або в .env файл
  • point підтримується лише json (навряд чи додасться xml)
  • dev - режим налагодження запитів. Записує в лог кожен запит до API Нової Пошти (не залишайте на продакшені) і додає в масив відповіді дані з ключем dev без перетворення, у тому вигляді, як їх повертає Нова Пошта
  • читайте документацію і користуйтеся

Використання та API

  • setAPI($apiKey) - встановлення API ключа, відмінного від значення за замовчуванням
$cp = new Counterparty;
$cp->setAPI('391e241b2c********************e7');
  • getResponse($model, $calledMethod, $methodProperties, $auth = true) - власне надсилання даних, якщо з'являться нові методи
use NovaPoshta;
$model = 'TrackingDocument'; //потрібна модель
$calledMethod = 'getStatusDocuments'; //потрібний метод
$methodProperties = [
  //дані згідно з документацією
];
$np = new NovaPoshta;
$data = $np->getResponse($model, $calledMethod, $methodProperties, $auth = true);

dd($data);

Підтримка моделей / методів

Хелпери (детальніші хелпери дивіться в документації до моделі)

Хелпери викликаються до головного методу звернення:

$foo = new Common;
$list = $foo->getPaymentForms();

$bar = new Address;
$bar->setLimit(5)->setPage(2);
$cities = $bar->getCities();

dd($cities);

Дуже багато моделей мають у відповіді дубль російською. У деяких довідниках немає російської локалізації.

  • setLimit(100) - ліміт записів у запиті
  • setPage(3) - пагінація при ліміті

Офіційно не задокументований функціонал

  • Отримання даних по бонусній картці
  • Оновити опис реєстру
  • Короткий список накладних реєстру
  • Отримання даних про Контрагента за номером телефону
  • Отримання даних по картках оплати, підключених до системи
  • Отримання списку доступних API ключів
  • Продовження дії API ключа
  • Отримання списку довірених пристроїв
  • Видалення довіреного пристрою
  • Отримання даних про вхідні посилки
  • Отримання активних промокодів, прив'язаних до телефону контрагента
  • Список даних по бонусній програмі контрагента
  • Список матеріальних цінностей, доступних для замовлення
  • Список замовлених матеріальних цінностей
  • Отримання списку ордерів для замовлення авто
  • Створення API ключа
  • Видалення API ключа
  • Зміна/зняття накладеного платежу

Статус обгортки над API Нової Пошти

Офіційна документація API Нової Пошти Документація до пакета

API Адреси

Робота з адресами

  • Онлайн пошук у довіднику населених пунктів
  • Онлайн пошук вулиць у довіднику населених пунктів
  • Створити адресу контрагента (відправник/одержувач)
  • Редагувати адресу контрагента (відправник/одержувач)
  • Видалити адресу контрагента (відправник/одержувач)
  • Довідник міст компанії
  • Довідник населених пунктів України
  • Довідник географічних областей України
  • Довідник відділень і типів відділень
  • Довідник вулиць компанії
  • Створити адресу контрагента (відправник/одержувач)
  • Редагувати адресу контрагента (відправник/одержувач)
  • Видалити адресу контрагента (відправник/одержувач)

API Контрагенти

Робота з даними Контрагента

  • Створити Контрагента
  • Створити контактну особу Контрагента
  • Створити Контрагента з типом (юридична особа) організація
  • Створити Контрагента з типом третьої особи
  • Завантажити список адрес Контрагентів
  • Завантажити параметри Контрагента
  • Завантажити список контактних осіб Контрагента
  • Завантажити список контрагентів
  • Оновити дані Контрагента
  • Оновити дані контактної особи Контрагента
  • Видалити Контрагента-одержувача
  • Видалити контактну особу Контрагента

API Друковані форми

Колекція методів для отримання друкованих форм документів.

  • Маркування - друкована форма
  • Реєстри - друкована форма
  • Експрес-накладна - друковані форми

API Реєстри

Робота з реєстрами експрес-накладних

  • Додати експрес-накладні до реєстру
  • Завантажити інформацію по одному реєстру
  • Завантажити список реєстрів
  • Оновити опис реєстру
  • Короткий список накладних реєстру
  • Видалити (розформувати) реєстр відправлень
  • Видалити експрес-накладні з реєстру

API Довідники

Робота з довідниками.

  • Види часових інтервалів
  • Види вантажу
  • Види зворотної доставки вантажу
  • Види палет
  • Види платників
  • Види платників зворотної доставки
  • Види пакування
  • Види шин і дисків
  • Описи вантажу
  • Перелік помилок
  • Технології доставки
  • Типи контрагентів
  • Форми оплати
  • Форми власності

API Послуга повернення відправлення

Можливість самостійного оформлення Клієнтом послуги «Повернення відправлення» через API. Послуга доступна лише клієнтам-відправникам.

  • Перевірка можливості створення заявки на повернення
  • Отримання списку причин повернення
  • Отримання списку підтипів причини повернення
  • Створення заявки на повернення
  • Отримання списку заявок на повернення
  • Видалення заявки на повернення

API Послуга Зміна даних

Можливість самостійного оформлення Клієнтом послуги «Зміна даних» через API.

  • Перевірка можливості створення заявки на зміну даних
  • Створення заявки на зміну даних (Частково)
  • Видалення заявки
  • Отримання списку заявок

API Послуга переадресація відправлення

Можливість самостійного оформлення Клієнтом послуги «Переадресація» через API. Послуга доступна клієнтам-відправникам і одержувачам.

  • Перевірка можливості створення заявки на переадресацію відправлення
  • Створення заявки на переадресацію відправлення (відділення/адреса)
  • Видалення заявки
  • Отримання списку заявок

API Експрес-накладна

Робота з експрес-накладними

  • Розрахувати вартість послуг
  • Прогноз дати доставки вантажу
  • Створити експрес-накладну
  • Створити експрес-накладну на адресу
  • Створити експрес-накладну у відділення
  • Створити експрес-накладну на поштомат "Нова пошта"
  • Створити експрес-накладну зі зворотною доставкою
  • Редагувати експрес-накладну (НЕ ТЕСТУВАЛОСЯ)
  • Отримання повної інформації про ЕН
  • Отримати список ЕН
  • Видалити експрес-накладні
  • Формування запиту для отримання повного звіту по накладних
  • Формування запитів на створення ЕН з додатковими послугами
  • Формування запитів на створення ЕН з різними видами вантажу

Пропущений функціонал (не бачу потреби або не можу перевірити)

  • Створення Контрагента з типом юрособа або третя особа
    • не додано можливість вказувати CityRef

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Завжди радий підтримці, вказівкам на помилки та PR!

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.