Тестовое задание
На хост машине
make help
make build
make install
make run # заполнит базу и запустит тесты
Необходимо задать переменные окружения
WB_URL="url"
WB_API_KEY="123"
Синхронизация
Инкрементальная
Schedule::command('sync:all')->dailyAt('00:10');
Для ORDERS, SALES, INCOMES синхронизация берёт данные по завершённым дням
Первый запуск: берутся все данные с даты 2 года назад до вчерашнего дня
Последующие запуски: берётся только следующий завершённый день после последней успешной записи (date_to)
Для STOCKS всегда берётся только текущий день, так как API поддерживает только актуальные данные
Ручное управление
make sh # для входа в контейнер
Available commands for the "sync" namespace:
php artisan sync:all Command description
php artisan sync:incomes Sync incomes from WB API
php artisan sync:orders Sync orders from API
php artisan sync:sales Sync sales from WB API
php artisan sync:stocks Sync stocks from WB test API
Расширение
Комментарий:
Апи может присылать полные дубли строк, думал делать вставку через upsert + уникальный ключ например по хешу основных строк, но выбрал более простой вариант с обычным заполнением
Ссылка на хостинг
Description
Languages
PHP
57.5%
Blade
41%
Dockerfile
0.6%
Makefile
0.5%
JavaScript
0.2%
Other
0.2%