laravel-goodsru maintained by alexmg86
Laravel GoodsRu API
Для чего нужен пакет
Данный пакет предназначен для работы с API сервиса GoodsRu в Laravel.
Понравился?
Если вам понравился пакет, то можете поставить мне звезду 🙏 😌
Установка
Установка через composer
composer require alexmg86/laravel-goodsru
Добавить и заполните переменные в .ENV файл
GOODSRU_URL= //https://site_goodsru.ru/api/market/v1/orderService
GOODSRU_TOKEN=
GOODSRU_LOGIN=
GOODSRU_PASSWORD=
GOODSRU_MERCHANT_ID=
GOODSRU_MERCHANT_NAME=
Если вам нужно изменить конфигурацию, то добавьте ее в папку с конфигами
php artisan vendor:publish --provider="Alexmg86\LaravelGoodsru\ServiceProvider"
Использование
Инициализация
Инициализировать можно несколькими способами:
use Alexmg86\LaravelGoodsru\LaravelGoodsru;
$api = new LaravelGoodsru();
можно сразу указать $shipmentId и $orderCode
$api = new LaravelGoodsru($shipmentId, $orderCode);
можно указать $shipmentId и $orderCode в любой момент работы
$api = new LaravelGoodsru();
$api->initOrder($shipmentId, $orderCode);
или установить их по отдельности
$api = new LaravelGoodsru();
$api->setOrder($orderCode);
$api->setShipment($shipmentId);
Запросы
get
Получение подробной информации об отправлениях.
Можно указать как один, так и массив $shipmentId.
$api = new LaravelGoodsru();
$data = $api->get($shipmentId);
$data = $api->get([$shipmentId1, $shipmentId2]);
confirm
Подтверждение лотов в отправлении со стороны продавца.
Указываем $shipmentId и передаем массив $itemIndex => $goodId.
$api = new LaravelGoodsru();
$api->setShipment($shipmentId);
$data = $api->confirm([1 => 1111, 2 => 2222]);
reject
Отмена лотов в отправлении со стороны продавца.
Указываем $shipmentId и передаем массив $itemIndex => $goodId.
Можно указать причину отмены $reason. По умолчанию будет передано OUT_OF_STOCK.
$api = new LaravelGoodsru();
$api->setShipment($shipmentId);
$data = $api->reject([1 => 1111, 2 => 2222], $reason);
Получить список доступных статусов.
$reasons = $api->getReasons();
packing
Подтверждение комплектации продавцом.
Указываем $shipmentId и $orderCode и передаем массив $itemIndex => $boxIndex.
$boxIndex участвует в формирование штрихкода (boxCode).
$api = new LaravelGoodsru();
$api->initOrder($shipmentId, $orderCode);
$data = $api->packing([1 => 1, 2 => 1]);
Получение этикетки.
Указываем $shipmentId и передаем массив $boxIndex.
$api = new LaravelGoodsru();
$api->setShipment($shipmentId);
$data = $api->print([1, 2]);
shipping
Подтверждение отгрузки продавцом.
Указываем $shipmentId, $shippingDate и передаем массив $boxIndex.
$api = new LaravelGoodsru();
$api->setShipment($shipmentId);
// формат YYYY-MM-DDThh:mm:ss+hh:mm
$api->setShippingDate($shippingDate);
$data = $api->shipping([1, 2]);
search
Поиск по отправлениям.
Передаем $period равный количеству дней до текущей даты.
Необязательный массив $statuses для поиска по определенным статусам. По умолчанию поиск будет по всем статусам.
$api = new LaravelGoodsru();
$data = $api->search($period, $statuses);
Список доступных статусов.
$api->getStatuses();
Так же можно дополнительно искать по $orderCode, $shippingDate.
$api->setOrder($orderCode);
// формат YYYY-MM-DDThh:mm:ss+hh:mm
$api->setShippingDate($shippingDate);
По-умолчанию будет отдано 100 записей. Максимальное количество можно указать в файле конфигурации count либо задать в любой момент.
$api->setCount(200);
Дополнительный методы
Получение конфига.
$api->getConfig();
Получение и установка максимального количества результатов в выдаче.
$api->getCount();
$api->setCount(200);
Получение кодов типов скидок.
$api->getDiscount();
Получение и установка номера заказа.
$api->getOrder();
$api->setOrder($orderCode);
Получение id мерчанта.
$api->getMerchantId();
Получение название мерчанта.
$api->getMerchantName();
Получение кодов причин отмены.
$api->getReasons();
Получение кодов причин отмены для статуса MERCHANT_CANCELED.
$api->getCanceles();
Получение кодов статусов.
$api->getStatuses();
Получение и установка номера заказа GoodsRu.
$api->getShipment();
$api->setShipment($shipmentId);
Установка дата отгрузки.
$api->setShippingDate($shippingDate);