Техническое задание: API ротатор контента
Необходимо разработать серверное API, которое будет динамически возвращать текстовые данные на основе сложной логики выборки.
Основная логика работы
- API должен обрабатывать GET-запросы с параметром
id_super (уникальный идентификатор сессии/пользователя). - При каждом обращении система выполняет последовательную логику:
1. Определение актуальной категории
- Скрипт проверяет текущее время.
- На основе времени извлекает актуальную категорию контента из Таблицы 1.
2. Динамическая выборка контента
- Из Таблицы 3 выбираются текстовые фразы, соответствующие определенной категории.
- Пользователю возвращается только текст выбранной фразы.
3. Защита от повторов
- Одна и та же фраза для одного и того же пользователя (сессии) не должна показываться чаще одного раза в сутки.
- Необходимо реализовать механизм отслеживания уже показанных фраз.
Требования к функционалу управления данными
А) Загрузка данных
- Предусмотреть возможность массовой загрузки текстовых фраз (слов/запросов) в базу данных.
- Загрузка должна быть привязана к определенным категориям из Таблицы 1.
Б) Проверка на дубликаты
- При загрузке новых фраз система должна проводить проверку на наличие дублирующихся записей в базе.
- Дубликаты не должны добавляться в систему.
Технические примечания
- Вся бизнес-логика должна работать на стороне сервера.
- Необходимо продумать структуру базы данных (минимум 3 таблицы: категории, фразы, история показов).
- Важна корректная работа с временными зонами и метками времени.