Техническое задание: API ротатор контента

Необходимо разработать серверное API, которое будет динамически возвращать текстовые данные на основе сложной логики выборки.

Основная логика работы

  • API должен обрабатывать GET-запросы с параметром id_super (уникальный идентификатор сессии/пользователя).
  • При каждом обращении система выполняет последовательную логику:

1. Определение актуальной категории

  • Скрипт проверяет текущее время.
  • На основе времени извлекает актуальную категорию контента из Таблицы 1.

2. Динамическая выборка контента

  • Из Таблицы 3 выбираются текстовые фразы, соответствующие определенной категории.
  • Пользователю возвращается только текст выбранной фразы.

3. Защита от повторов

  • Одна и та же фраза для одного и того же пользователя (сессии) не должна показываться чаще одного раза в сутки.
  • Необходимо реализовать механизм отслеживания уже показанных фраз.

Требования к функционалу управления данными

А) Загрузка данных

  • Предусмотреть возможность массовой загрузки текстовых фраз (слов/запросов) в базу данных.
  • Загрузка должна быть привязана к определенным категориям из Таблицы 1.

Б) Проверка на дубликаты

  • При загрузке новых фраз система должна проводить проверку на наличие дублирующихся записей в базе.
  • Дубликаты не должны добавляться в систему.

Технические примечания

  • Вся бизнес-логика должна работать на стороне сервера.
  • Необходимо продумать структуру базы данных (минимум 3 таблицы: категории, фразы, история показов).
  • Важна корректная работа с временными зонами и метками времени.