Проект на Laravel 8 для интеграции с внешним API и сохранения данных в MySQL.
- PHP 8.1
- Laravel 8 + Laravel Octane
- MySQL
- Docker / Docker Compose
- Клонируем репозиторий:
git clone https://github.com/dartanool/laravel-web-api-integration.git cd laravel - Создать файл .env
cp .env.example .env
- Настроить переменные окружения:
DB_HOST=sdartar5.beget.tech DB_PORT=3306 DB_DATABASE=sdartar5_s DB_USERNAME=sdartar5_s DB_PASSWORD=wb_pasS5 API_KEY=секретный_ключ BASE_URL=host
- Поднять контейнеры:
docker-compose up -d --build
- Выполнить миграции:
docker exec -it php-fpm bash php artisan migrate
- Host: sdartar5.beget.tech
- Port: 3306
- Database: sdartar5_s
- Username: sdartar5_s
- Password: wb_pasS5
- orders
- sales
- incomes
- stocks
- companies
- accounts
- token_types
- api_services
- api_services_token_type
- api_tokens
- Выгрузка заказов
php artisan fetch:orders {dateFrom=YYYY-MM-DD} {dateTo=YYYY-MM-DD} - Выгрузка продаж
php artisan fetch:sales {dateFrom} {dateTo} - Выгрузка остатков на складе
php artisan fetch:stocks {dateFrom} - Выгрузка доходов
php artisan fetch:incomes {dateFrom} {dateTo}
Обновление данных настроено через Laravel Scheduler в 10:00 и в 18:00. ```bash php artisan schedule:run
app/
├── Console/
│ └── Commands/
│ ├── FetchOrders.php
│ ├── FetchSales.php
│ ├── FetchStocks.php
│ └── FetchIncomes.php
├── Models/
│ ├── Order.php
│ ├── Sale.php
│ ├── Stock.php
│ └── Income.php
├── Services/
│ └── WbApiService.php
database/
├── migrations/
└── seeders/