Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Події
Інше
Про нас

NovaPoshta for Laravel

daaner/novaposhta
1.4 7 36 25.6k 14 червня 2024
На GitHub

Обгортка над API 2.0 Нової Пошти для Laravel: адреси, відділення, вантажі, документи та відстеження посилок. Один із найпоширеніших пакетів для інтеграції з Новою Поштою в українських проєктах.

8

Поділитись

README

Laravel NovaPoshta API 2.0

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 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

Всегда рад поддержке, указаниям на ошибки и ПР!

Please see CONTRIBUTING for details.

Credits

License

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

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Схожі пакети

SendPulse REST API

sendpulse/rest-api

Офіційний PHP SDK для SendPulse: email-розсилки, SMS, web-push, чат-боти та транзакційна пошта. Сервіс заснований в Україні і виріс у міжнародну платформу, тож SDK підтримується активно і має найбільшу аудиторію в добірці.

117 3.0.1 10

MonoPay

plakidan/monobank-pay

Бібліотека для еквайрингу monobank («plata by mono»): створення рахунків, статуси оплат, повернення коштів і холди. Найпопулярніший пакет для прийому платежів через monobank, з активними релізами.

33 0.3.1 5

TurboSMS for Laravel

daaner/turbosms

Пакет для роботи з TurboSMS у Laravel: надсилання SMS і Viber, перевірка балансу та статусів доставки. Один із найпоширеніших SMS-пакетів в українських Laravel-проєктах.

22 1.40 7

Monobank for Laravel

aratkruglik/monobank-laravel

Інтеграція з API monobank для Laravel 11-13: еквайринг, виписки за рахунками, курси валют і вебхуки. Актуально підтримується під сучасні версії фреймворку.

8 2.0.1 13 5

Checkbox.in.ua SDK

kolirt/checkbox.in.ua-sdk

PHP SDK для Checkbox.in.ua: робота з касами, змінами та фіскальними чеками через REST API. Альтернативна реалізація клієнта ПРРО Checkbox для проєктів без прив'язки до Laravel.

5 0.0.6 1

Laravel Ukrposhta

kolirt/laravel-ukrposhta

Інтеграція з API Укрпошти для Laravel: створення відправлень, друк бланків, розрахунок вартості та відстеження. Покриває основні сценарії роботи з національним поштовим оператором.

5 1.0.3 1