Downloads
Stars
Version
This is where your description should go. Take a look at contributing.md to see a to do list.
Via Composer
$ composer require islomzoda/ozonupdatestock
для коректной работы пакета в .env добавтье поля
OZON_CLIENT_ID=ид магазина
OZON_API_KEY=ключт от апи
OZON_WH_ID=ид склада
в папку storage/app/asset/ добавим файл alias.xlsx там будеть хранить сопоставление для 1с и мост между Озон выполняем команду
php artisan migrate
дольжно появится таблица ozon_match
потом загружаем мост
php artisan ozon:alias
в таблице дольжно появится данные поле product_id пустое так как мы не будем их загружать в ручную если все такие вы решили загрузить в ручную тогда можете проспустить следуюший шаг
загружаем сапоставление из озон
php artisan ozon:match
Все наше библетека готова для использование
пример использованиезоватся
<?php
namespace App\Service\MarketPlace\Ozon;
use App\Service\Accounting\OneC\OneC;
use Illuminate\Support\Facades\DB;
use Islomzoda\OzonUpdateStock\Facades\OzonUpdateStock;
class UpdateStockOzon
{
public function updateStock(){
// запрашиваем остатки от учетной системы в моем слуйчай это 1с
$items = (new OneC())->getAmountAndPrices();
$update = [];
foreach($items->{"ПакетПредложений"}->{"Предложения"}->{"Предложение"} as $item){
$getItem = DB::table('ozon_match')->where('one_c_uid', $item->{"Ид"})->first();
if ($getItem){
// так как валидация озон будеть ругаться на минусовые значение мы сделали свою неболшую проверку
$quantity = $item->{"Количество"} >= 0 ? $item->{"Количество"} : 0;
$update['stocks'][] = ['offer_id' => $getItem->offer_id, 'product_id' => (int)$getItem->product_id, 'stock' => $quantity, 'warehouse_id' => config('ozonupdatestock.wh_id')];
}
}
OzonUpdateStock::update($update);
}
}
Please see the changelog for more information on what has changed recently.
$ composer test
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
MIT. Please see the license file for more information.