Download the PHP package lapaygroup/fivepost-sdk without Composer
On this page you can find all versions of the php package lapaygroup/fivepost-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lapaygroup/fivepost-sdk
More information about lapaygroup/fivepost-sdk
Files in lapaygroup/fivepost-sdk
Package fivepost-sdk
Short Description SDK для работы с API транспортной компании 5post (https://fivepost.ru)
License MIT
Informations about the package fivepost-sdk
SDK для интеграции с программным комплексом 5post.
Посмотреть все проекты или подарить автору кофе можно тут.
Документация к API 5post.
Содержание
- Changelog
- Конфигурация
- Отладка
- Расчет тарифа
- Список точек выдачи
- Создание склада
- Создание заказа
- Отмена заказа
- Статусы заказов
- История статусов заказа
- Получение чеков
- Получение этикетки
- Обнуление наложенного платежа
- 0.6.2 - Добавлены зависимости guzzle ^7.0 и psr/log ^2.0|^3.0
- 0.6.1 - Обновлеты тарифы 5post для расчёта;
- 0.6.0 - Подробное описание тут;
- 0.5.0 - Подробное описание тут;
- 0.4.6 - Совместимость с Guzzle 7.3;
- 0.4.5 - Добавлен вывод неизвестного кода статуса в текст исключения. Добавлена заменя executionStatus, если там присутствует описание вместе с кодом;
- 0.4.4 - Совместимость с Guzzle 7.2;
- 0.4.3 - Совместимость с Guzzle 7.1;
- 0.4.2 - Совместимость с Guzzle 7;
- 0.4.1 - Исправлены ошибки в namespace файлов;
- 0.4.0 - Добавлена возможность сохранения JWT токена и создания своих классов для сохранения;
- 0.3.0 - Добавлен Enum статусов заказа, изменены функции работы с статусами заказов;
- 0.2.1 - Исправлена ошибка с обязательным заполнение налоговой ставки у места;
- 0.2.0 - Добавлен расчет тарифа;
- 0.1.3 - Исправление в composer.json;
- 0.1.2 - Исправление опечаток;
- 0.1.1 - Исправлена зависимость с Monolog;
- 0.1.0 - Первая Alfa-версия SDK.
Установка
Для установки можно использовать менеджер пакетов Composer
composer require lapaygroup/fivepost-sdk
Для работы с API необходимо получить api-key у персонального менеджера при заключении договора.
По api-key необходимо получить токен в формате JWT и сохранить его. Токен живет 1 час с момента издания.
SDK позволяет сохранять JWT, для этого необходимо использовать Helper, который должен реализовывать JwtSaveInterface.
В SDK встроен Helper для сохранения токена в временный файл JwtSaveFileHelper.
Отладка
Для логирования запросов и ответов используется стандартный PSR-3 логгер.
Ниже приведен пример логирования используя Monolog.
В log.txt будут логи в виде:
Расчет тарифа
Тарифы рассчитываются по тарифным зонам по данным на сайте 5post.
При заключении договора могут быть индивидуальные тарифы, их можно применить используя метод setZoneTariffs в объекте LapayGroup\FivePostSdk\Client.
Этот метод принимает массив тарифов в таком виде.
Для изменения тарифа на услуги используйте методы ниже:
Для расчета стоимости и сроков доставки используйте метод calculationTariff.
Входные параметры:
- $zone - тарифная зона;
- $weight - вес заказа в граммах;
- $amount - выкупная стоимость заказа;
- $payment_type - способ оплаты (оплачен/картой/наличными);
- $returned - Возврат в случае невыкупа.
Выходные параметры:
- array - стоимость доставки и срок доставки в днях
Примеры вызова:
Список точек выдачи
Метод getPvzList возвращает список постаматов и пунктов выдачи заказов.
Рекомендуем запрашивать не более 500 точек на странице.
Входные параметры:
- int $number - Номер страницы / среза (нумерация начинается с 0);
- int $size - Количество точек выдачи на странице / срезе.
Выходные параметры:
- array - срез ПВЗ из справочника с данными среза.
Примеры вызова:
Создание склада
Метод addWarehouses позволяет добавить склад забора заказов. За один запрос можно добавить несколько складов.
Входные параметры:
- Warehouse[] - массив объектов LapayGroup\FivePostSdk\Entity\Warehouse.
Выходные параметры:
- array - Результат создания складов
Примеры вызова: `
Создание заказа
Метод createOrders позволяет создать многоместный заказ (v3 API, метод включается по запросу к персональному менеджеру). За один запрос можно создать несколько заказов.
Метод createOrdersV1 реализует создание одноместных заказов через v1 API.
Входные параметры:
- Order[] - массив объектов LapayGroup\FivePostSdk\Entity\Order.
Выходные параметры:
- array - Результат создания заказов
Примеры вызова:
Отмена заказа
// TODO описание
Статусы заказов
Метож getOrdersStatus получает последний статус по списку заказов.
Заказ можно запросить по своему уникальному номеру или по номеру в системе 5post.
Входные параметры:
- array[] - массив массивов с номерами заказов.
Выходные параметры:
- array - последний статус заказов
Примеры вызова:
История статусов заказа
Метод getOrderStatuses возвращает полную историю статусов заказа.
Входные параметры:
- string|null $order_id - ID заказа;
- string|null $vendor_id - ID заказа в системе 5post.
Выходные параметры:
- array - история статусов заказа
Примеры вызова:
Получение чеков
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе 5post.
Входные параметры:
- string[] $order_ids - Список id заказов клиента или 5post;
Выходные параметры:
- array - Список данных по чекам
Примеры вызова:
Получение этикетки
Методы работают только с заказами, который созданы через метод API V3.
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе 5post.
Входные параметры:
- string[] $order_ids - Список id заказов клиента или 5post;
- string $format - Формат этикетки. Допустимые значения PDF и ZIP (опциональный параметр);
Выходные параметры:
- UploadedFile - Файл с этикетками в формате ZIP или PDF.
Примеры вызова:
Обнуление наложенного платежа
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе 5post.
Входные параметры:
- string[] $order_ids - Список id заказов клиента или 5post;
Выходные параметры:
- array - Список данных по результату обнуления НП.
Примеры вызова:
All versions of fivepost-sdk with dependencies
guzzlehttp/guzzle Version ^6.3|^7.0
psr/log Version ^1.0|^2.0|^3.0
ext-json Version *