daaner / novaposhta
NovaPoshta (API 2.0) for Laravel 7+
Requires
- php: >=7.2.5
- ext-json: *
- laravel/framework: >=7.0
README
Управление отправками 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.