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.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package russianpost




Latest Stable Version Total Downloads License Telegram Chat

SDK для интеграции с программным комплексом Почты России.

Посмотреть все проекты или подарить автору кофе можно тут.

Содержание

Changelog

Установка

Для установки можно использовать менеджер пакетов Composer

composer require lapaygroup/russianpost

Тарификатор Почты России

Получения списка видов отправления

Для получения списка категорий нужно вызвать метод parseToArray класса \LapayGroup\RussianPost\CategoryList

В $categoryList мы получим ассоциативный массив из категорий, их подкатегорий и видов почтовых отправлений с возможными опциями и списком параметров, которые нужно передать для расчета тарифа. По этим данным можно легко и быстро построить форму-калькулятор аналогичную тарификатору Почты России.

Если нужно исключить категории из выборки, то перед вызовом parseToArray вызываем метод setCategoryDelete и передаем ему массий ID категорий, которые нужно исключить.

Расчет стоимости отправки

objectId, список параметров в $params и список дополнительных услуг $service берутся из массива $categoryList.

$calcInfo - это объект класса LapayGroup\RussianPost\CalculateInfo Доступные методы:

Массив тарифов состоит из объектов класса LapayGroup\RussianPost\Tariff Доступные методы:

Полученная информация может быть отображена так:

Процесс тарификации: Способ пересылки: НАЗЕМНО (код РТМ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.

Входные параметры:

Единичный доступ

Метод getOperationsByRpo используется для получения информации о конкретном отправлении. Возвращает подробную информацию по всем операциям, совершенным над отправлением. Пример вызова:

$result - Массив с объектами операций над отправлением в формате Почты России.

Метод getNpayInfo позволяет получить информацию об операциях с наложенным платежом, который связан с конкретным почтовым отправлением.

Пример вызова:

$result - Массив с объектами операций с наложенным платежом в формате Почты России.

Пакетный доступ (включается через поддержу почты или через заявку на странице трекинга)

Метод getTickets создает заявку в сервисе Почты России на предоставление информации по всем операциям по списку отправлений. На практике сервис Почты России не может отдать ответ по заявке с 3000 отправлений на финальной стадии из-за размера HTTP пакета, поэтому данная функция разбивает список на части по 500 отправлений в каждой и создает по каждой заявку.

Пример вызова:

$result - Ассоциативный массив данных, который содержит ключи:

Метод getOperationsByTicket возвращает массив с информацией по отправлениям по ранее созданной заявке.

Пример вызова:

$result - Ассоциативный массив данных ключи которого - номера РПО, а значение - массив объектов в формате Почты России расширенный свойствами:

Данные

Реализует функции API Почты России для работы с данными. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.

В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.

Нормализация адреса

Разделяет и помещает сущности переданных адресов (город, улица) в соответствующие поля возвращаемого объекта. Параметр id (идентификатор записи) используется для установления соответствия переданных и полученных записей, так как порядок сортировки возвращаемых записей не гарантируется. Метод автоматически ищет и возвращает индекс близлежащего ОПС по указанному адресу.

Адрес считается корректным к отправке, если в ответе запроса:

Пример вызова:

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

Поиск заказов с ШПИ

Возвращает данные заказа в партии по присвоенному ему ШПИ.

Добавление заказов в партию

Создает массив заказов и помещает непосредственно в партию. Автоматически рассчитывает и проставляет плату за пересылку. Каждому заказу автоматически присваивается ШПИ.

Удаление заказов из партии

Удаляет заказы, которые уже были добавлены в партию.

Запрос данных о заказах в партии

Возвращает заказы в партии по заданным параметрам.

Поиск всех партий

Возвращает партии по заданным фильтрам.

Поиск заказа в партии по id

Документы

Реализует функции API Почты России для работы с документами. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.

В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.

Все функции работы с документами принимают параметр action, который принимает два значения:

Важно! Перед печатью любого документа нужно зафиксировать изменения в партии вызовом функции sendingF103form():

Генерация пакета документации

Генерирует и возвращает zip архив с 4-мя файлами:

Генерация печатной формы Ф7п

Генерирует и возвращает pdf файл с формой ф7п для указанного заказа. Опционально в файл прикрепляется форма Ф22 (посылка онлайн). Если параметр sending-date не передается, берется текущая дата.

Генерация печатной формы Ф112ЭК

Генерирует и возвращает pdf-файл с заполненной формой Ф112ЭК для указанного заказа. Только для заказа с «наложенным платежом». Если заказ не имеет данного атрибута, метод вернет ошибку. Если параметр sending-date не передается, берется текущая дата.

Генерация печатных форм для заказа

Генерирует и возвращает pdf файл, который может содержать в зависимости от типа отправления:

Опционально прикрепляются формы: Ф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, где:

Входные параметры:

Долгосрочное хранение

!!!Данный раздел не работает в API Почты России!!!

Реализует функции API Почты России для работы с долгосрочным хранением. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.

В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.

Возвраты

Реализует функции API Почты России для работы с услугой Легкий возврат. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.

В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.

Создание возвратного отправления для ранее созданного отправления

Создает возвратное отправление (ЛВ) для уже созданного в ЛК отправления.

Входные параметры:

Пример получения списка текущих точек сдачи:

Создание отдельного возвратного отправления

Создает возвратное отправление (ЛВ) без прямого. Метод asArr() проверяет заполнение необходимых для создания возвратного отправления полей и в случае незаполнения выбрасывает \InvalidArgumentException.

Пример создания заказа:

Удаление отдельного возвратного отправления

Удаляет отдельное возвратное отправление.

Входные параметры:

Выходные параметры:

Пример получения списка текущих точек сдачи:

Редактирование отдельного возвратного отправления

Редактирование отдельного возвратного отправления (ЛВ). Метод asArr() проверяет заполнение необходимых для создания возвратного отправления полей и в случае незаполнения выбрасывает \InvalidArgumentException.

Пример создания заказа:

Настройки

Реализует функции API Почты России для работы с настройками. Для работы данных функций необходимы аутентификационные данные. Подробнее в разделе Конфигурация.

В случае возникновеня ошибок при обмене выбрасывает исключение \LapayGroup\RussianPost\Exceptions\RussianPostException в котором будет текст и код ошибки от API Почты России и дамп сырого ответа с HTTP-кодом.

Текущие точки сдачи

Возвращает список текущих точек сдачи.

Пример получения списка текущих точек сдачи:

Текущие настройки пользователя

Возвращает текущие настройки пользователя.

Пример получения списка текущих точек сдачи:


All versions of russianpost with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
guzzlehttp/guzzle Version ^6.3 || ^7.0
psr/log Version ^1.1 || ^2.0 || ^3.0
ext-soap Version *
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package lapaygroup/russianpost contains the following files

Loading the files please wait ....