Перейти к содержанию

03. Справочники

Версия
Количество листов

Оглавление

История изменений

№1 Дата: 25.08.25 Автор: Демкович Александр RFC: RPL-1051 Версия: 0.1.0
Добавлено:
• FR_03_3_1
• Требование мультиязычности для “Названия” пола аудитории.
№2 Дата: 28.10.25 Автор: Ляшук Андрей RFC: RPL-1657 Версия: 1.0.0
Изменено:
• В “2.1_1 Предустановленные сервисы” добавлены” добавлены сервисы: WhatsApp
• Telegram.
№3 Дата: 15.12.25 Автор: Ляшук Андрей RFC: RPL-2000 Версия: 1.1.0
Добавлено:
“10. Теги инфлюэнсера”.
№ 4 Дата: 23.12.25 Автор: Ляшук Андрей RFC: RPL-2097 Версия: 1.2.0
Отменены:
изменения, которые были добавлены в рамках RPL-2000.
№ 5 Дата: 05.02.26 Автор: Ляшук Андрей RFC: RPL-2204 Версия: 1.3.0
Добавлено:
“10. Группы городов”.

Изменено:
• “5.1 Параметры Города(cities)” добавлены параметры: geonameid
• latitude
• longitude
• timezone
• population.
№6 Дата: 24.09.26 Автор:Ляшук Андрей RFC: RPL-2921 Версия: 1.4.0
Добавлено:
• “9.1_1 Предустановленные диапазоны количества подписчиков”
• “9.2 Параметры связи диапазона количества подписчиков с типом бизнеса(range_quantity_followers_business_types)”
• “9.2_1 Предустановленные связи диапазонов количества подписчиков с типами бизнеса”
• FR_03_9_1
• FR_03_9_2.

Изменено:
В “9.1 Параметры Диапазоны количества подписчиков(ranges_quantity_followers)” удалено ограничение пересечения значений “Подписчиков от” / “Подписчиков до” с другими Диапазонами количества подписчиков.

1. Сервисы

Справочник предназначен для хранения информации о сервисах на которых Пользователи сервиса, регистрируют свои аккаунты.

1_1 Типы сервисов

Класс Описание
Социальная сеть Сервис на котором зарегистрирован аккаунт инфлюэнсера, который используется для определения соответствия аудитории аккаунта требованиям Кампании.
Мессенджер Сервис на котором зарегистрирован аккаунт инфлюэнсера, который пользователь может указать как аккаунт для коммуникации с ним.

1.1 Параметры Сервиса(services)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Дата удаления deleted_at timestamp нет нет
Название title varchar(255) да нет
Тип type enum да нет Возможны следующие типы: 1 - Социальная сеть; 2 - Мессенджер.
Иконка icon_id bigint нет нет
Ссылка link varchar(255) нет да
Свойство использования для настроек уведомлений is_used_for_notification_settings boolean да нет По умолчанию false.
Индексы Параметры
Уникальный индекс title, type

1.1_1 Предустановленные сервисы

Сервис Параметры
Instagram Идентификатор - 1; Название - Instagram; Тип - Социальная сеть.
WhatsApp Идентификатор - 2; Название - WhatsApp; Тип - Мессенджер; Ссылка - https://wa.pulse.is/15557168443?start=69475468c46b0268950e4996\&text=; Свойство использования для настроек уведомлений - true.
Telegram Идентификатор - 3; Название - Telegram; Тип - Мессенджер; Ссылка - https://tg.pulse.is/rippla_com_bot?start=6943a95c45fdc7269f004334\&uuid=; Свойство использования для настроек уведомлений - true.

2. Интересы инфлюэнсера

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

2.1 Параметры Интереса(interests)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) нет нет Является обязательным, если не имеется “Оригинального названия”
Оригинальное название origin_title varchar(255) нетда нет Является обязательным, если не имеется “Названия”

3. Языки

Справочник предназначен для указания языковой принадлежности той сущности, в которой он используется.

Реализация справочника основана на компоненте Languages фреймворка Symfony.

FR_03_3_1
Справочник должен поддерживать мультиязычность.

4. Страны

Справочник предназначен для указания принадлежности к стране той сущности, в которой она используется.

Реализация справочника основана на компоненте Сountries фреймворка Symfony.

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

5. Города

Справочник предназначен для указания принадлежности к городу той сущности, в которой она используется.

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

5_1 Предустановленные города
В сервисе должны быть предустановлены города предоставляемые репозиторием https://github.com/nnjeim/world.

NFR_5_1_1
Для предустановленных городов “Статус активности” должен быть установлен как “true”.

5_2 Важность города
Важность города предназначена для определения местоположение города в списке городов. Значение Важности является натуральным числом. Чем больше значение параметра важность, тем выше город должен располагаться в списке городов.

5_2.1 Условное описание для значения важности города

Значение Описание
1000 Столицы; Крупные населенные пункты; Популярные населенные пункты.
100 Административные центры.
10 Районные центры.
1 Мелкие населенные пункты; Не популярные населенные пункты.
0 Устанавливается для населенных пунктов, которые не должны отображаться в интерфейсе пользователя.

5.1 Параметры Города(cities)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Код страны сountry_code varchar(255) нет нет
Название title varchar(255) да нет
Псевдонимы aliases array да нет Одномерный массив, который содержит псевдонимы названия города.
Важность importance integer да нет
Источник данных data_source enum нет нет Возможны следующие источники: 1 - Yoloco.
Идентификатор geoname geonameid int нет нет
Широта latitude decimal(9,6) нет нет
Долгота longitude decimal(9,6) нет нет
Таймзона timezone varchar(64) нет нет
Население population int нет нет

5.2 CRUD Города

03_5.2_1 Процедура формирования списка городов по запросу пользователя

API: GET /private/dictionaries/cities

  1. Клиентской частью сервиса выполняется запрос, который должен содержать список городов, с параметрами:
  2. “tail_item” - последний элемент списка, который был получен ранее;
  3. “per_page” - количество элементов на странице;
  4. "search" - значение указанное пользователем.
  5. Определяются Города которые удовлетворяют условиям запроса. Город удовлетворяет условиям запроса если:
  6. Значение параметра “Важность” города больше 0.
  7. Значение параметра “search”, которое было указано при инициации данной процедуры, является подстрокой которая входит в начало строки образованной из одного из “Псевдонимов” города.
  8. На запрос, который инициировал данную процедуру, возвращается ответ который содержит список Городов которые отсортированы:
  9. Если в запросе “Get city dictionary” не имеется значения для параметра “search” по “Важности” и в алфавитном порядке.
  10. Если в запросе “Get city dictionary” имеется значения для параметра “search”:
    1. По вхождению подстроки, которая образована из значения параметра “search”, которое входит в первый “Псевдоним” города и “Важности”;
    2. По вхождению подстроки, которая образована из значения параметра “search”, которое входит не в первый “Псевдоним” города и “Важности”;

6. Пол аудитории

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

6.1 Параметры Пола аудитории(genders_audience)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) да нет Является переводимым.
Статус активности is_active boolean да нет
Источник данных data_source enum нет нет Возможны следующие источники: 1 - Yoloco.

7. Возрастные группы аудитории

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

7.1 Параметры Возрастной группы(age_ranges_audience)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) да нет
Статус активности is_active boolean да нет
Источник данных data_source enum нет нет Возможны следующие источники: 1 - Yoloco.

8. Показатели вовлеченности аудитории

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

8.1 Параметры Показателя вовлеченности(influencer_engagement_rates)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) нет нет
Статус активности is_active boolean да нет
Показатель rate float(6,5) да да

9. Диапазоны количества подписчиков

Справочник используется для поиска и фильтрации инфлюэнсеров(аккаунтов инфлюэнсеров).

9.1 Параметры Диапазоны количества подписчиков(ranges_quantity_followers)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) нет нет
Статус активности is_active boolean да нет
Подписчиков от quantity_from int нет нет
Подписчиков до quantity_to int нет нет Не может быть меньше или равно значению “Подписчиков от” данного Диапазона количества подписчиков.

9.1_1 Предустановленные диапазоны количества подписчиков

Диапазон Параметры
0-5000 id - 1; title - 0-5000; quantity_from - 0; quantity_to - 5000.
5000-10000 id - 2; title - 5000-10000; quantity_from - 5000; quantity_to - 10000.
10000-20000 id - 3; title - 10000-20000; quantity_from - 10000; quantity_to - 20000.
20000-30000 id - 4; title - 20000-30000; quantity_from - 20000; quantity_to - 30000.
30000-40000 id - 5; title - 30000-40000; quantity_from - 30000; quantity_to - 40000.
40000-50000 id - 6; title - 40000-50000; quantity_from - 40000; quantity_to - 50000.
>50000 id - 7; title - >50000; quantity_from - 50000.
50000-100000 id - 8; title - 50000-100000; quantity_from - 50000; quantity_to - 100000.
100000-200000 id - 9; title - 100000-200000; quantity_from - 100000; quantity_to - 200000.
>200000 id - 10; title - >200000; quantity_from - 200000.

9.2 Параметры связи диапазона количества подписчиков с типом бизнеса(range_quantity_followers_business_types)

PRIMARY KEY range_quantity_followers_id, business_type
Название Параметр Формат Обяз. Уник. Примечание
Идентификатор диапазона количества подписчиков range_quantity_followers_id int да нет
Тип бизнеса business_type enum да нет Возможны следующие типы: 1 - Отель; 2 - Другое.

9.2_1 Предустановленные связи диапазонов количества подписчиков с типами бизнеса

Диапазон Типы бизнеса
0-5000 Отель; Другое.
5000-10000 Отель; Другое.
10000-20000 Отель; Другое.
20000-30000 Отель; Другое.
30000-40000 Отель; Другое.
40000-50000 Отель; Другое.
>50000 Другое.
50000-100000 Отель.
100000-200000 Отель.
>200000 Отель.

FR_03_9_1
Тип бизнеса “Бизнеса” определяется как:
1. Отель - если Бизнес является «Отелем»;
2. Другое - если Бизнес не является «Отелем».

FR_03_9_2
На запрос “Get ranges of the number of followers dictionary” возвращаются Диапазоны количества подписчиков, “Статус активности” которых true и для которых имеется связь с Типом бизнеса, который определён согласно “FR_03_9_1” для “Бизнеса”, к которому относится Пользователь, который инициировал запрос.

10. Группы городов

Справочник используется для объединения городов в группы.

10.1 Параметры группы городов(city_groups)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Название title varchar(255) нет нет
Статус активности is_active boolean да нет По умолчанию true.

10.2 Параметры связи группы города с городом(city_group_cities)

PRIMARY KEY city_id, city_group_id
Название Параметр Формат Обяз. Уник. Примечание
Идентификатор города city_id int да нет
Идентификатор группы города city_group_id int да нет