Skip to content

Repository files navigation

Синхронизация товарного каталога

Установка

  1. Версия PHP >=8.3
  2. Установить зависимости composer install
  3. Скопировать env cp .env.example .env
  4. Прописать доступы к базе данных DB_*
  5. Прописать доступы к API REES46_API_*
  6. Кешировать конфиг php artisan optimize
  7. Создать таблицы через миграцию php artisan migrate (опционально, если не создаются руками)
  8. Настроить крон * * * * * cd /opt/sync-catalog && /usr/bin/php artisan schedule:run >> /dev/null 2>&1

Описание работы

В рамках синхронизации происходит передача данных из трех таблиц

  • categories
  • locations
  • products

Для каждой таблицы есть миграция с необходимыми колонками

Для синхронизации представлен класс App\Services\ApiSyncService

Порядок синхронизации и сопутствующая документация описана здесь https://rees46.ru/help/integration/catalog/import/api/

Во время синхронизации проверяется колонка updated_at, если в процессе были обновлены данные, строка переходит на следующую итерацию

Синхронизация выполняется командами

  • App\Console\Commands\ImportCategories
  • App\Console\Commands\ImportLocations
  • App\Console\Commands\ImportProducts

Каждый этап синхронизации должен получить ответ от API об успешном окончании обработки импорта

Локации ждут подтверждения от категорий, товары ждут подтверждения от локаций

Для обработки подтверждений необходимо указать env REES46_API_CALLBACK_URL

В значение передается URL, по которому доступен текущий API

Если в базе нет обновленных категорий, система автоматически переходит к импорту локаций, аналогично делается переход к импорту оферов

Ограничения API

Импорт оферов ограничен одним запросом в секунду

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages