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 для интеграции с программным комплексом http://fivepost.ru.
[!IMPORTANT] Неофициальный независимый проект
Этот проект не является официальным SDK 5post, не связан с ООО «Файв Пост», не поддерживается, не одобрен и не спонсируется правообладателем.
Обозначение «5post» используется исключительно для указания совместимости SDK с API соответствующего сервиса. Все права на товарный знак «5post» принадлежат его правообладателю.
Unofficial independent project
This is not an official 5post SDK. The project is not affiliated with, maintained, endorsed, or sponsored by ООО “Файв Пост” or the trademark owner. The “5post” name is used solely to identify API compatibility.
Посмотреть все проекты или подарить автору кофе можно тут.
Содержание
- Changelog
- Конфигурация
- Отладка
- Расчет тарифа
- Список точек выдачи
- Создание склада
- Создание заказа
- Отмена заказа
- Статусы заказов
- История статусов заказа
- Получение чеков
- Получение этикетки
- Обнуление наложенного платежа
- 0.6.4 - Исправляет передачу формата в методах getLabelsByListOrderIds и getLabelsByListVendorIds
- 0.6.3 - Незначительные изменения от комьюнити
- 0.6.2 - Добавлены зависимости guzzle ^7.0 и psr/log ^2.0|^3.0
- 0.6.1 - Обновлеты тарифы для расчёта;
- 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 будут логи в виде:
Расчет тарифа
Тарифы рассчитываются по тарифным зонам по данным на сайте .
При заключении договора могут быть индивидуальные тарифы, их можно применить используя метод 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 получает последний статус по списку заказов.
Заказ можно запросить по своему уникальному номеру или по номеру в системе .
Входные параметры:
- array[] - массив массивов с номерами заказов.
Выходные параметры:
- array - последний статус заказов
Примеры вызова:
История статусов заказа
Метод getOrderStatuses возвращает полную историю статусов заказа.
Входные параметры:
- string|null $order_id - ID заказа;
- string|null $vendor_id - ID заказа в системе .
Выходные параметры:
- array - история статусов заказа
Примеры вызова:
Получение чеков
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе .
Входные параметры:
- string[] $order_ids - Список id заказов клиента или ;
Выходные параметры:
- array - Список данных по чекам
Примеры вызова:
Получение этикетки
Методы работают только с заказами, который созданы через метод API V3.
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе .
Входные параметры:
- string[] $order_ids - Список id заказов клиента или ;
- string $format - Формат этикетки. Допустимые значения PDF и ZIP (опциональный параметр);
Выходные параметры:
- UploadedFile - Файл с этикетками в формате ZIP или PDF.
Примеры вызова:
Обнуление наложенного платежа
Метод getReceiptsByListOrderIds возвращает данные чеков по списку заказов в системе клиента.
Метод getReceiptsByListVendorIds возвращает данные чеков по списку заказов в системе .
Входные параметры:
- string[] $order_ids - Список id заказов клиента или ;
Выходные параметры:
- 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 *