定制 daaner/novaposhta 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

daaner/novaposhta

Composer 安装命令:

composer require daaner/novaposhta

包简介

NovaPoshta (API 2.0) for Laravel 7+

README 文档

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

daaner/novaposhta 适用场景与选型建议

daaner/novaposhta 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 23.28k 次下载、GitHub Stars 达 36, 最近一次更新时间为 2020 年 06 月 29 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「delivery」 「novaposhta」 「daaner」 「ukraine-delivery」 「laravel-np」 「laravel-novaposhta」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 daaner/novaposhta 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 daaner/novaposhta 我们能提供哪些服务?
定制开发 / 二次开发

基于 daaner/novaposhta 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 23.28k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 37
  • 点击次数: 19
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 36
  • Watchers: 6
  • Forks: 16
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-06-29