LaravelPackages.net
Acme Inc.
Toggle sidebar
daaner/novaposhta

NovaPoshta (API 2.0) for Laravel 7+

25.364
36
1.4
About daaner/novaposhta

daaner/novaposhta is a Laravel package for novaposhta (api 2.0) for laravel 7+. It currently has 36 GitHub stars and 25.364 downloads on Packagist (latest version 1.4). Install it with composer require daaner/novaposhta. Discover more Laravel packages by daaner or browse all Laravel packages to compare alternatives.

Last updated

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) - пагинация при лимите

Официально не документированный функционал

  • [x] Получение данных по бонусной карте
  • [x] Обновить описание реестра
  • [x] Краткий список накладных реестра
  • [x] Получение данных об Контрагенте по номеру телефона
  • [x] Получение данных по картам оплаты, подключенным к системе
  • [x] Получение списка доступных API ключей
  • [x] Продление действия API ключа
  • [x] Получение списка доверенных устройств
  • [x] Удаление доверенного устройства
  • [x] Получение данных о входящих посылках
  • [x] Получение активных промокодов прикрепленных к телефону контрагента
  • [x] Список данных по бонусной программе контрагента
  • [x] Список материальных ценностей доступных для заказа
  • [x] Список заказанных материальных ценностей
  • [x] Получение списка ордеров для заказа авто
  • [x] Создание API ключа
  • [x] Удаление API ключа
  • [x] Замена/снятие наложного платежа

Статус обертки над API новой почты

Официальная документация API Новой почты Документация по пакету

API Адреса

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

  • [x] Онлайн поиск в справочнике населенных пунктов
  • [x] Онлайн поиск улиц в справочнике населенных пунктов
  • [x] Создать адрес контрагента (отправитель/получатель)
  • [x] Редактировать адрес контрагента (отправитель/получатель)
  • [x] Удалить адрес контрагента (отправитель/получатель)
  • [x] Справочник городов компании
  • [x] Справочник населенных пунктов Украины
  • [x] Справочник географических областей Украины
  • [x] Справочник отделений и типов отделений
  • [x] Справочник улиц компании
  • [ ] Создать адрес контрагента (отправитель/получатель)
  • [ ] Редактировать адрес контрагента (отправитель/получатель)
  • [ ] Удалить адрес контрагента (отправитель/получатель)

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

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

  • [x] Создать Контрагента
  • [ ] Создать контактное лицо Контрагента
  • [x] Создать Контрагента с типом (юридическое лицо) организация
  • [x] Создать Контрагента с типом третьего лица
  • [x] Загрузить список адресов Контрагентов
  • [x] Загрузить параметры Контрагента
  • [x] Загрузить список контактных лиц Контрагента
  • [x] Загрузить список контрагентов
  • [ ] Обновить данные Контрагента
  • [ ] Обновить данные контактного лица Контрагента
  • [ ] Удалить Контрагента получателя
  • [ ] Удалить Контактное лицо Контрагента

API Печатные формы

Это коллекция методов для получения печатных форм документов.

  • [x] Маркировки - печатная форма
  • [x] Реестры - печатная форма
  • [x] Экспресс-накладная - печатные формы

API Реестры

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

  • [x] Добавить экспресс-накладные в реестр
  • [x] Загрузить информацию по одному реестру
  • [x] Загрузить список реестров
  • [x] Обновить описание реестра
  • [x] Краткий список накладных реестра
  • [x] Удалить (расформировать) реестр отправлений
  • [x] Удалить экспресс-накладные из реестра

API Справочники

Работа со справочниками.

  • [x] Виды временных интервалов
  • [x] Виды груза
  • [x] Виды обратной доставки груза
  • [x] Виды паллет
  • [x] Виды плательщиков
  • [x] Виды плательщиков обратной доставки
  • [x] Виды упаковки
  • [x] Виды шин и дисков
  • [x] Описания груза
  • [x] Перечень ошибок
  • [x] Технологии доставки
  • [x] Типы контрагентов
  • [x] Формы оплаты
  • [x] Формы собственности

API Услуга возврат отправления

Возможность самостоятельного оформления Клиентом услуги «Возврат отправления» при использовании API. Услуга доступна только для клиентов отправителей.

  • [x] Проверка возможности создания заявки на возврат
  • [x] Получение списка причин возврата
  • [x] Получение списка подтипов причины возврата
  • [x] Создание заявки на возврат
  • [x] Получение списка заявок на возврат
  • [x] Удаление заявки на возврат

API Услуга Изменение данных

Возможность самостоятельного оформления Клиентом услуги «Изменение данных» при использовании API.

  • [x] Проверка возможности создания заявки по изменению данных
  • [ ] Создание заявки по изменению данных (Частично)
  • [x] Удаление заявки
  • [x] Получение списка заявок

API Услуга переадресация отправления

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

  • [x] Проверка возможности создания заявки на переадресацию отправления
  • [x] Создание заявки переадресация отправления (отделение/адрес)
  • [x] Удаление заявки
  • [x] Получение списка заявок

API Экспресс-накладная

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

  • [x] Рассчитать стоимость услуг
  • [x] Прогноз даты доставки груза
  • [x] Создать экспресс-накладную
  • [x] Создать экспресс-накладную на адрес
  • [x] Создать экспресс-накладную на отделение
  • [x] Создать экспресс-накладную на почтомат "Нова пошта"
  • [x] Создать экспресс-накладную с обратной доставкой
  • [x] Редактировать экспресс-накладную (НЕ ТЕСТИРОВАЛОСЬ)
  • [x] Получение полной инфо об ЭН
  • [x] Получить список ЭН
  • [x] Удалить экспресс-накладные
  • [ ] Формирование запроса для получения полного отчета по накладным
  • [ ] Формирование запросов на создание ЭН с дополнительными услугами
  • [ ] Формирование запросов на создание ЭН с различными видами груза

Пропущенный функционал (не вижу потребности или не могу проверить)

  • Создание Контрагента с типом юрлицо или третье лицо
    • не добавлена возможность указывать 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.

Comments