islomzoda / ozonupdatestock
Данный пакеть предназначень для обнавление остаков в Озон
Requires
- illuminate/support: ~9
- maatwebsite/excel: ^3.1
Requires (Dev)
- orchestra/testbench: ~7
- phpunit/phpunit: ~9.0
This package is auto-updated.
Last update: 2025-04-08 21:32:12 UTC
README
This is where your description should go. Take a look at contributing.md to see a to do list.
Installation
Via Composer
$ composer require islomzoda/ozonupdatestock
Usage
для коректной работы пакета в .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);
}
}
Change log
Please see the changelog for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email islomzoda20@yandex.ru instead of using the issue tracker.
Credits
License
MIT. Please see the license file for more information.