Download the PHP package lapaygroup/russianpost without Composer
On this page you can find all versions of the php package lapaygroup/russianpost. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lapaygroup/russianpost
More information about lapaygroup/russianpost
Files in lapaygroup/russianpost
Package russianpost
Short Description SDK для работы с API Почты России (pochta.ru)
License MIT
Informations about the package russianpost
SDK для интеграции с программным комплексом Почты России.
[!IMPORTANT] Неофициальный независимый проект
Этот проект не является официальным SDK Почты России, не связан с Почтой России, не поддерживается, не одобрен и не спонсируется правообладателем.
Обозначение «Почта России» используется исключительно для указания совместимости SDK с API соответствующего сервиса. Все права на товарный знак «Почта России» принадлежат его правообладателю.
Unofficial independent project
This is not an official Russian Post SDK. The project is not affiliated with, maintained, endorsed, or sponsored by Russian Post or the trademark owner. The “Russian Post” name is used solely to identify API compatibility.
Посмотреть все проекты или подарить автору кофе можно тут.
Содержание
- Changelog
- Тарификатор Почты России
- Конфигурация
- Отладка
- Трекинг почтовых отправлений (РПО)
- Данные
- [x] Нормализация адреса
- [x] Нормализация ФИО
- [x] Нормализация телефона
- [x] Расчет стоимости пересылки (Упрощенная версия)
- [x] Расчет стоимости пересылки ЕКОМ
- [x] Отображение баланса
- [x] Неблагонадёжный получатель
- Заказы
- [x] Получение списка ПВЗ
- [x] Создание заказов
- [x] Создание заказов (v2)
- [x] Редактирование заказа
- [x] Удаление заказов
- [x] Поиск заказа
- [x] Поиск заказа по идентификатору
- [x] Возврат заказов в "Новые"
- Партии
- [x] Создание партии из N заказов
- [x] Изменение дня отправки в почтовое отделение
- [x] Перенос заказов в партию
- [x] Поиск партии по наименованию
- [x] Поиск заказов с ШПИ
- [x] Добавление заказов в партию
- [x] Удаление заказов из партии
- [x] Запрос данных о заказах в партии
- [x] Поиск всех партий
- [x] Поиск заказа в партии по id
- Документы
- [x] Генерация пакета документации
- [x] Генерация печатной формы Ф7п
- [x] Генерация печатной формы Ф112ЭК
- [x] Генерация печатных форм для заказа
- [x] Генерация печатной формы Ф103
- [x] Подготовка и отправка электронной формы Ф103
- [x] Генерация акта осмотра содержимого
- [x] Генерация возвратного ярлыка на одной печатной странице
- Архив
- [x] Перевод партии в архив
- [x] Возврат партии из архива
- [x] Запрос данных о партиях в архиве
- Поиск ОПС
- [x] По индексу
- [x] По адресу
- [x] Почтовые сервисы ОПС
- [x] По координатам
- [x] Поиск индексов в населенном пункте
- [x] Выгрузка из паспорта ОПС
- Долгосрочное хранение (Не работает в API Почты России!)
- [ ] Запрос данных о заказах в архиве
- Возвраты
- [x] Создание возвратного отправления для ранее созданного отправления
- [x] Создание отдельного возвратного отправления
- [x] Удаление отдельного возвратного отправления
- [x] Редактирование отдельного возвратного отправления
- Настройки
- [x] Текущие точки сдачи
- [x] Текущие настройки пользователя
- 2.0.0 - Минимальная версия PHP повышена до 8.3. Удалена обязательная зависимость от Guzzle, добавлен транспорт PSR-18/PSR-17, строгая типизация ядра, безопасное логирование и единообразная обработка HTTP/JSON-ошибок. Обновлены конструкторы
OtpravkaApi,CategoryListиTariffCalculation; - 1.0.2 - Исправлен Null в методе createBatch(). За внимательность спасибо petrovich24;
- 1.0.1 - Исправлена работа clean функций после обновления;
- 1.0.0 - Описание можно посмотреть тут;
- 0.9.23 - Добавлена поддержка Guzzle 7.*;
- 0.9.22 - Добавлена поддержка Guzzle 7.8 в зависимостях Composer;
- 0.9.21 - Обновлены зависимости psr/log, решение issue #46, актуализирован список статусов отправлений, добавлены новые конечные статусы Почты России;
- 0.9.20 - Исправлена совместимость с PHP 8.2 и добавлена поддержка Guzzle 7.5 в зависимостях Composer. За исправление спасибо NickMitin;
- 0.9.19 - Добавлена поддержка Guzzle 7.4 в зависимостях Composer;
- 0.9.18 - Испралвена передача ecom-data. За исправление спасибо Stanislav Naumuk;
- 0.9.17 - Испралвены ошибки в сеттерах у Item.php. За исправление спасибо SERGEY;
- 0.9.16 - Актуализированы свойства вложения в заказ. За исправление спасибо SERGEY;
- 0.9.15 - Добавлена возможность задать таймаут в тарификаторе. За исправление спасибо DarWiM;
- 0.9.14 - Добавлена поддержка Guzzle 7.3 в зависимостях Composer;
- 0.9.13 - Добавлено поле комментарий к заказу при создании заказа V1 и V2;
- 0.9.12 - Исправлена ошибка с отсутствующим $result->historyRecord в ответе API Почты. За исправление спасибо Nikita Burichenko;
- 0.9.11 - Добавлена поддержка Guzzle 7.2 в зависимостях Composer;
- 0.9.10 - Добавлена поддержка флага useOnlineBalance в методе отправки электронной формы Ф103;
- 0.9.9 - Исправлена ошибка при переключении клиента в трекинге. За исправление спасибо Alliance-X;
- 0.9.8 - Исправлены функции для работы с ОПС. За обнаружение и исправление спасибо Sergey Voronov;
- 0.9.7 - Исправлена работы GET методов API. За обнаружение спасибо GrayWolfy;
- 0.9.6 - Добавлена функция создания заказа V2 с возвратом ШК и номеров клиентской ИС, спасибо GrayWolfy за помощь;
- 0.9.5 - Актуализирован список статусов отправления, изменено поведение пакетного трекинга, подробнее тут;
- 0.9.4 - Добавлена поддержка Guzzle 7.1 в зависимостях Composer;
- 0.9.3 - Добавлена поддержка Guzzle 7 в зависимостях Composer;
- 0.9.2 - У заказа у вложений в декларацию добавлено новое поле trademark (Торговая марка), спасибо PankovAlxndr за актуализацию;
- 0.9.1 - Актуализация списка статусов отправления, добавлена генерация печатных форм для заказа до формирования партии, подробнее тут;
- 0.9.0 - Актуализация списка статусов отправления, легкий возврат, выгрузка из паспорта ОПС, подробнее тут;
- 0.8.6 - Исправление ошибки API отправки с desc в ответе вместо sub-code;
- 0.8.5 - Зависимость с Guzzle 6.3+ вместо строгой 6.3;
- 0.8.3 - Доработана поддержка расчета тарифов для посылок EKOM, спасибо Konstantin Shevsky за доработку;
- 0.8.2 - Актуализированы параметры запроса и ответа тарификатора, за актуализацию выражаем благодарность Konstantin Shevsky;
- 0.8.1 - Добавлена функция получения списка ПВЗ для ЕКОМ, исправлена ошибка создания http-клиента к API;
- 0.8.0 - Описание можно посмотреть тут;
- 0.7.4 - Добавлено сохранение ошибок расчета тарифа в объект CalculateInfo с разделением на сообщение и код ошибки;
- 0.7.3 - Исправлена ошибка при сохранении документов;
- 0.7.2 - Актуализирован список статусов отправлений Почты России;
- 0.7.1 - Доработана генерация RussianPostException, спасибо toporchillo за исправление. Добавлена расширенная информация в логировании;
- 0.7.0 - Описание можно посмотреть тут;
- 0.6.6 - Исправлено формирование и проверка параметров для запроса на создание заказа;
- 0.6.5 - Реализованы функции работы с архивом;
- 0.6.0 - Долгожданная работа с заказами, подробнее тут;
- 0.5.4 - Правки composer.json;
- 0.5.3 - Описание можно посмотреть тут;
- 0.5.2 - Исправлена ошибка получения информации о сроках доставки в формате HTML;
- 0.5.1 - Описание можно посмотреть тут;
- 0.5.0 - Описание можно посмотреть тут;
- 0.4.12 - Скорректировано описание упрощенной версии расчета тарифов, добавлен метод получения списка точек сдачи;
- 0.4.11 - Актуализирован список статусов Почты России;
- 0.4.10 - Актуализирован расчет стоимости пересылки (Упрощенная версия), за актуализацию спасибо rik43;
- 0.4.9 - Исправлена ошибка выставления флага isFinal в пакетном трекинге отправлений, за обнаружение спасибо Dmitry Sobchenko;
- 0.4.8 - Изменен адрес калькулятора Почты России, старый будет отключен 01.01.2019;
- 0.4.7 - Актуализация списка статусов;
- 0.4.6 - Было принято решение исключить зависимость с symfony/yaml и понизить требуемую версию PHP до 5.5+. Подробнее в разделе Конфигурация;
- 0.4.5 - Актуализация списка статусов, признак конечного статуса в пакетном трекинге;
- 0.4.0 - Единичный и пакетный трекинг отправлений;
- 0.3.0 - Нормализация данных, упрощенный расчет стоимости отправки;
- 0.2.0 - Расчет стоимости отправки тарификатором Почты России.
Установка
Для версии 2.0.0 требуется PHP 8.3 или новее. Для установки можно использовать менеджер пакетов Composer:
composer require lapaygroup/russianpost
Начиная с версии 2.0.0 библиотека не устанавливает конкретный HTTP-клиент. В приложении должны быть реализации PSR-18 и PSR-17. Например:
composer require symfony/http-client nyholm/psr7
Создайте HTTP-транспорт один раз и передавайте его в классы SDK:
Можно использовать любые совместимые реализации PSR-18 и PSR-17. Таймаут и другие сетевые настройки задаются в выбранном HTTP-клиенте, так как PSR-18 их не стандартизирует.
Переход с версии 1.x
В версии 2.0.0:
- транспорт стал обязательным аргументом конструкторов
OtpravkaApi,CategoryListиTariffCalculation; - методы документов возвращают
Psr\Http\Message\UploadedFileInterfaceи больше не вызываютheader(),echoилиexit; - вывод файла в HTTP-ответ выполняется на уровне приложения или фреймворка; параметр
actionвременно сохранён для упрощения миграции; - таймаут HTTP настраивается в выбранном PSR-18-клиенте, а timeout Tracking API — в конструкторе
Tracking; - денежные getters
CalculateInfoиTariffвозвращаютfloatв рублях; для точных расчётов добавлены getters с суффиксомKopecks, возвращающиеintв копейках; - добавлено исправленное исключение
RussianPostTarifficatorException; старое имяRussianPostTarrificatorExceptionсохранено как родитель для совместимости; - пустые списки нормализации являются корректными пустыми коллекциями;
- полные тела запросов/ответов и SOAP credentials больше не записываются в лог.
Получения списка видов отправления
Для получения списка категорий нужно вызвать метод parseToArray класса \LapayGroup\RussianPost\CategoryList
В $categoryList мы получим ассоциативный массив из категорий, их подкатегорий и видов почтовых отправлений с возможными опциями и списком параметров, которые нужно передать для расчета тарифа. По этим данным можно легко и быстро построить форму-калькулятор аналогичную тарификатору Почты России.
Если нужно исключить категории из выборки, то перед вызовом parseToArray вызываем метод setCategoryDelete и передаем ему массий ID категорий, которые нужно исключить.
Расчет стоимости отправки
objectId, список параметров в $params и список дополнительных услуг $service берутся из массива $categoryList.
$calcInfo - это объект класса LapayGroup\RussianPost\CalculateInfo Доступные методы:
- getCategoryItemId() - ID вида отправления
- getCategoryItemName() - название вида отправления
- getWeight() - вес отправления в граммах
- getTransportationName() - способ пересылки
- getPay() - итоговая стоимость без НДС
- getPayNds() - итоговая стоимость с НДС
- getGround() - почтовый сбор без НДС
- getGroundNds() - почтовый сбор с НДС
- getCover() - страхование без НДС
- getCoverNds() - страхование с НДС
- getService() - дополнительные услуги без НДС
- getServiceNds() - дополнительные услуги с НДС
- getTariffList() - массив тарифов из которых складывается итоговая стоимость доставки
Денежные методы возвращают float в рублях. Для точных вычислений доступны соответствующие методы
getPayKopecks(), getPayNdsKopecks(), getGroundKopecks(), getGroundNdsKopecks(),
getCoverKopecks(), getCoverNdsKopecks(), getServiceKopecks() и getServiceNdsKopecks(),
возвращающие int в копейках.
Массив тарифов состоит из объектов класса LapayGroup\RussianPost\Tariff Доступные методы:
- getId() - ID тарифа
- getName() - название тарифа
- getValue() - стоимость без НДС
- getValueNds() - стоимость с НДС
- getValueMark() - стоимость при оплате марками
Для точных вычислений предусмотрены getValueKopecks(), getValueNdsKopecks() и
getValueMarkKopecks(), возвращающие int в копейках.
Полученная информация может быть отображена так:
Процесс тарификации: Способ пересылки: НАЗЕМНО (код РТМ2: 1). Плата за пересылку письма с объявленной ценностью /230/ : 106.20 с НДС Плата за объявленную ценность /215/ : 3.54 с НДС Заказное уведомление о вручении /213/ услуга 2: 56.64 с НДС СМС-уведомление о вручении /119/ услуга 21: 10.00 с НДС
Результат: Почтовый сбор: 106.20 (с НДС). Страхование: 3.54 (с НДС). Дополнительные услуги: 66.64 (с НДС). Итого сумма без НДС: 149.47. Итого сумма с НДС 18%: 176.38.
Для использования сервисов Почты России, не считая тарификатор, необходимы аутентификационные данные. Их можно хранить в symfony/yaml.
Информацию о аутентификационных данных можно получить здесь и здесь.
На запросы к API отправки Почтой России установлены лимиты на количество запросов в сутки. Для их увеличения необходимо написать письмо на почту [email protected].
Для логирования запросов и ответов используется стандартный PSR-3 логгер. Рассмотрим пример логирования используя Monolog.
Лог в файле выглядит так:
Трекинг почтовых отправлений (РПО)
Реализует функции API Почты России для работы с отправлениями. Для работы данных функций необходим конфигурационный файл с логином и паролем от сервиса Почты России.
Для работы используется экземпляр класса LapayGroup\RussianPost\Providers\Tracking.
Входные параметры:
- $service - Единочный (single) / Пакетный (pack);
- $config - Массив данных для подключения к API;
- $timeout - Таймаут HTTP соединения, по умолчанию 60 сек. (Для сервисов Почты России лучше использовать 120 сек.).
Единичный доступ
Метод getOperationsByRpo используется для получения информации о конкретном отправлении. Возвращает подробную информацию по всем операциям, совершенным над отправлением. Пример вызова:
$result - Массив с объектами операций над отправлением в формате Почты России.
Метод getNpayInfo позволяет получить информацию об операциях с наложенным платежом, который связан с конкретным почтовым отправлением.
Пример вызова:
$result - Массив с объектами операций с наложенным платежом в формате Почты России.
Пакетный доступ (включается через поддержу почты или через заявку на странице трекинга)
Метод getTickets создает заявку в сервисе Почты России на предоставление информации по всем операциям по списку отправлений. На практике сервис Почты России не может отдать ответ по заявке с 3000 отправлений на финальной стадии из-за размера HTTP пакета, поэтому данная функция разбивает список на части по 500 отправлений в каждой и создает по каждой заявку.
Пример вызова:
$result - Ассоциативный массив данных, который содержит ключи:
- tickets - одномерный массив с номерами успешно созданных заявок
- not_create - одномерный массив с номерами РПО, по которым не удалось создать заявку (на практике бывает часто, требуется повторный запрос на создание по этим РПО)
Метод getOperationsByTicket возвращает массив с информацией по отправлениям по ранее созданной заявке.
Пример вызова:
$result - Ассоциативный массив данных ключи которого - номера РПО, а значение - массив объектов в формате Почты России расширенный свойствами:
- OperCtgName - текстовое название подтипа операции;
- isFinal - признак конечного статуса (после получения запрашивать статусы у этого РПО не требуется).
Реализует функции API Почты России для работы с данными. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Разделяет и помещает сущности переданных адресов (город, улица) в соответствующие поля возвращаемого объекта. Параметр id (идентификатор записи) используется для установления соответствия переданных и полученных записей, так как порядок сортировки возвращаемых записей не гарантируется. Метод автоматически ищет и возвращает индекс близлежащего ОПС по указанному адресу.
Адрес считается корректным к отправке, если в ответе запроса:
- quality-code=GOOD, POSTAL_BOX, ON_DEMAND или UNDEF_05;
- validation-code=VALIDATED, OVERRIDDEN или CONFIRMED_MANUALLY.
Пример вызова:
$addressList - это объект класса LapayGroup\RussianPost\AddressList содержащий список адресов для нормализации.
Очищает, разделяет и помещает значения ФИО в соответствующие поля возвращаемого объекта. Параметр id (идентификатор записи) используется для установления соответствия переданных и полученных записей, так как порядок сортировки возвращаемых записей не гарантируется.
Пример вызова:
$fioList - это объект класса LapayGroup\RussianPost\FioList содержащий список ФИО для нормализации.
Принимает номера телефонов в неотформатированном виде, который может включать пробелы, символы: +-(). Очищает, разделяет и помещает сущности телефона (код города, номер) в соответствующие поля возвращаемого объекта. Параметр id (идентификатор записи) используется для установления соответствия переданных и полученных записей, так как порядок сортировки возвращаемых записей не гарантируется.
Пример вызова:
$phoneList - это объект класса LapayGroup\RussianPost\PhoneList содержащий список номеров телефлонов для нормализации.
Расчет стоимости пересылки (Упрощенная версия)
Расчитывает стоимость пересылки в зависимости от указанных входных данных. Индекс ОПС точки отправления берется из профиля клиента. Возвращаемые значения указываются в копейках.
Важно! Индекс отправления должен быть указан одного из пунктов сдачи, иначе будет возвращена ошибка 1001!
Пример получения списка пунктов сдачи отправлений:
Пример вызова:
$parcelInfo - это объект класса LapayGroup\RussianPost\ParcelInfo содержащий данные по отправлению. $tariffInfo - это объект класса LapayGroup\RussianPost\tariffInfo содержащий данные по расчитанному тарифу.
Расчет стоимости пересылки ЕКОМ
Стоимость пересылки для ЕКОМ расчитывается по аналогичному вышеуказанному алгоритму, за исключением некоторых входных параметров.
Пример вызова:
Отображает баланс расчетного счета. Возвращаемые значения указываются в копейках.
Пример вызова:
Актуально для отправлений с наложенным платежом. Определяет, является ли получатель благонадёжным, есть ли прецеденты невыкупа.
Пример вызова:
Заказы
Реализует функции API Почты России для работы с заказами.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Создание заказа
Создает новый заказ. Автоматически рассчитывает и проставляет плату за пересылку.
Метод asArr() проверяет заполнение необходимых для создания заказа полей и в случае незаполнения выбрасывает \InvalidArgumentException.
Важно! Для внутренних отправлений должен задаваться цифровой почтовый индекс $order->setIndexTo(115551). Для зарубежных отправлений должен задаваться зарубежный почтовый индекс $order->setStrIndexTo('ab5551'). По умолчанию выбран динамический ДТИ. Для изменения диапазона ДТИ нужно обратиться в службу поддержки Почты России.
Пример создания заказа:
Создание заказа V2
Создает новый заказ. Автоматически рассчитывает и проставляет плату за пересылку.
Метод asArr() проверяет заполнение необходимых для создания заказа полей и в случае незаполнения выбрасывает \InvalidArgumentException.
Важно! Для внутренних отправлений должен задаваться цифровой почтовый индекс $order->setIndexTo(115551). Для зарубежных отправлений должен задаваться зарубежный почтовый индекс $order->setStrIndexTo('ab5551'). По умолчанию выбран динамический ДТИ. Для изменения диапазона ДТИ нужно обратиться в службу поддержки Почты России.
Пример создания заказа:
Редактирование заказа
Изменение ранее созданного заказа. Автоматически рассчитывает и проставляет плату за пересылку.
Удаление заказов
Удаление заказов, который еще не добавлены в партию.
Поиск заказа
Ищет заказы по назначенному магазином идентификатору.
Поиск заказа по идентификатору
Ищет заказ по идентификатору Почты России.
Возврат заказов в "Новые"
Метод переводит заказы из партии в раздел Новые. Партия должна быть в статусе CREATED.
Партии
Реализует функции API Почты России для работы с партиями.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Создание партии из N заказов
Автоматически создает партию и переносит указанные подготовленные заказы в эту партию.
Если заказы относятся к разным типам и категориям – создается несколько партий.
Заказы распределяются по соответствующим партиям.
Каждому перенесенному заказу автоматически присваивается ШПИ.
Изменение дня отправки в почтовое отделение
Изменяет (устанавливает) новый день отправки в почтовое отделение.
Перенос заказов в партию
Переносит подготовленные заказы в указанную партию.
Если часть заказов не может быть помещена в партию (тип и категория партии не соответствует типу и категории заказа) -
возвращается json объект с указанием индекса заказа в переданном массиве и типом ошибки, остальные заказы помещаются в указанную партию.
Каждому перенесенному заказу автоматически присваивается ШПИ.
Поиск партии по наименованию
Возвращает параметры партии по ее наименованию (batch-name).
Поиск заказов с ШПИ
Возвращает данные заказа в партии по присвоенному ему ШПИ.
Добавление заказов в партию
Создает массив заказов и помещает непосредственно в партию.
Автоматически рассчитывает и проставляет плату за пересылку.
Каждому заказу автоматически присваивается ШПИ.
Удаление заказов из партии
Удаляет заказы, которые уже были добавлены в партию.
Запрос данных о заказах в партии
Возвращает заказы в партии по заданным параметрам.
Поиск всех партий
Возвращает партии по заданным фильтрам.
Документы
Реализует функции API Почты России для работы с документами.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Все функции работы с документами возвращают объект Psr\Http\Message\UploadedFileInterface. Параметр action и константы DOWNLOAD_FILE/PRINT_FILE сохранены для миграции со старых версий, но SDK больше не отправляет HTTP-заголовки и не завершает выполнение приложения.
Важно! Перед печатью любого документа нужно зафиксировать изменения в партии вызовом функции sendingF103form():
Генерация пакета документации
Генерирует и возвращает zip архив с 4-мя файлами:
- Export.xls , Export.csv - список с основными данными по заявкам в составе партии
- F103.pdf - форма ф103 по заявкам в составе партии
- В зависимости от типа и категории отправлений, формируется комбинация из сопроводительных документов в формате pdf ( формы: f7, f112, f22)
Генерация печатной формы Ф7п
Генерирует и возвращает pdf файл с формой ф7п для указанного заказа. Опционально в файл прикрепляется форма Ф22 (посылка онлайн).
Если параметр sending-date не передается, берется текущая дата.
Генерация печатной формы Ф112ЭК
Генерирует и возвращает pdf-файл с заполненной формой Ф112ЭК для указанного заказа. Только для заказа с «наложенным платежом».
Если заказ не имеет данного атрибута, метод вернет ошибку. Если параметр sending-date не передается, берется текущая дата.
Генерация печатных форм для заказа
Генерирует и возвращает pdf файл, который может содержать в зависимости от типа отправления:
- форму ф7п (посылка, посылка-онлайн, бандероль, курьер-онлайн);
- форму Е-1 (EMS, EMS-оптимальное, Бизнес курьер, Бизнес курьер экспресс)
- конверт (письмо заказное).
Опционально прикрепляются формы: Ф112ЭК (отправление с наложенным платежом), Ф22 (посылка онлайн), уведомление (для заказного письма или бандероли).
ВАЖНО: Для генерации печатных форм до формирования партии в третьем параметре batch необходимо передавать false.
Генерация печатной формы Ф103
Генерирует и возвращает pdf файл с формой Ф103 для указанной партии.
Подготовка и отправка электронной формы Ф103
Присваивает уникальную версию партии для дальнейшего приема этой партии сотрудниками ОПС.
Отправляет по e-mail электронную форму Ф103 в ОПС для регистрации.
Генерация печатной формы акта осмотра содержимого
Генерирует и возвращает pdf файл с формой акта осмотра содержимого для указанной партии.
Важно! Дананя функция работает только, если включена услуга проверки комплектности по отправлению.
Генерация возвратного ярлыка на одной печатной странице
Генерирует и возвращает pdf файл возвратного ярлыка на одной печатной странице.
Архив
Реализует функции API Почты России для работы с архивом.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Перевод партии в архив
Перевод списка партий в архив.
Возврат партии из архива
Возврат списка партий из архива.
Запрос данных о партиях в архиве
Возврат списка партий в архиве.
Поиск ОПС
Реализует функции API Почты России для поиска ОПС.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Поиск почтового отделения по индексу
Возвращает информацию о ОПС.
Поиск обслуживающего ОПС по адресу
Возвращает список почтовых индексов ОПС и признак является ли переданный адрес точным адресом ОПС.
Поиск почтовых сервисов ОПС
Может возвращать как все доступные сервисы, так и сервисы определенной группы (например: Киберпочт@).
Поиск почтовых отделений по координатам
Возвращает список ОПС по переданному массиву параметров согласно документации.
Поиск почтовых индексов в населённом пункте
Возвращает список индексов.
Выгрузка из паспорта ОПС
Выгружает данные ОПС, ПВЗ, Почтоматов из Паспорта ОПС.
Генерирует и возвращает zip архив с текстовым файлом TYPEdd_MMMM_yyyy.txt, где:
- TYPE - тип объекта
- dd_MMMM_yyyy - время создания архива
Входные параметры:
- $type - Тип объекта ОПС.
!!!Данный раздел не работает в API Почты России!!!
Реализует функции API Почты России для работы с долгосрочным хранением. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Возвраты
Реализует функции API Почты России для работы с услугой Легкий возврат.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Создание возвратного отправления для ранее созданного отправления
Создает возвратное отправление (ЛВ) для уже созданного в ЛК отправления.
Входные параметры:
- $rpo - ШПИ прямого отправления;
- $mail_type - Вид РПО. См. Вид РПО.
Пример получения списка текущих точек сдачи:
Создание отдельного возвратного отправления
Создает возвратное отправление (ЛВ) без прямого.
Метод asArr() проверяет заполнение необходимых для создания возвратного отправления полей и в случае незаполнения выбрасывает \InvalidArgumentException.
Пример создания заказа:
Удаление отдельного возвратного отправления
Удаляет отдельное возвратное отправление.
Входные параметры:
- $rpo - ШПИ возвратного отправления.
Выходные параметры:
- code - Код ошибки;
- description - Описание ошибки.
Пример получения списка текущих точек сдачи:
Редактирование отдельного возвратного отправления
Редактирование отдельного возвратного отправления (ЛВ).
Метод asArr() проверяет заполнение необходимых для создания возвратного отправления полей и в случае незаполнения выбрасывает \InvalidArgumentException.
Пример создания заказа:
Настройки
Реализует функции API Почты России для работы с настройками.
Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.
В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.
Текущие точки сдачи
Возвращает список текущих точек сдачи.
Пример получения списка текущих точек сдачи:
Текущие настройки пользователя
Возвращает текущие настройки пользователя.
Пример получения списка текущих точек сдачи:
All versions of russianpost with dependencies
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/http-message Version ^1.0 || ^2.0
psr/log Version ^1.1 || ^2.0 || ^3.0
ext-mbstring Version *
ext-soap Version *