Основная цель
Создать систему разрешения идентичности от начала до конца, которая создает детерминированные соответствия между номером телефона ↔ ADID (идентификатор мобильного устройства) с использованием протокола IAB UID2 и сопоставления на основе рекламных кампаний.
Обзор проекта
Это сложная платформа разрешения идентичности с следующим рабочим процессом:
Номера телефонов → UID2 токены → Рекламные кампании → Отслеживание показов → Захват ADID → Двунаправленные соответствия
Ключевые компоненты системы:
1. Служба загрузки телефонов
Принимает файлы CSV/JSON/Excel с номерами телефонов
Нормализует в формат E.164
Шифрует и хэширует для безопасности
Отслеживает партии загрузки с статистикой валидации
2. Служба конверсии UID2
Конвертирует номера телефонов в рекламные токены UID2 через протокол IAB UID2
Управляет циклами обновления токенов (истечение через 90 дней)
Хранит соответствия в PostgreSQL
Асинхронная обработка через очередь Kafka
3. Менеджер рекламных кампаний (интеграция Prebid)
Создает недорогие отслеживающие кампании, нацеленные на токены UID2
Стратегия: 1x1 пиксельные показы для экономии затрат
Настраиваемый бюджет, география и ограничения по частоте
Отслеживает показы и эффективность кампании
4. Система отслеживания показов
Захватывает ADID из событий показов
Извлекает данные устройства из запросов ставок OpenRTB
Поддерживает как GET (пиксель), так и POST (S2S postback) отслеживание
Логирует пользовательский агент и геоданные
5. Служба сопоставления
Создает и обновляет отношения телефон ↔ ADID
Оценка уверенности на основе частоты показов
Обрабатывает несколько ADID на один телефон (мульти-устройства пользователи)
Обновляет статус обработки телефона
6. API для поиска (двунаправленные)
Телефон → ADID: Найти все ADID, связанные с номером телефона
ADID → Телефон: Найти номер телефона, связанный с ADID
Кэширование Redis для <10ms запросов
Оценки уверенности и количество показов
7. Веб-панель (Streamlit)
Статистика и метрики системы в реальном времени
Интерфейс загрузки телефонов
Создание и мониторинг кампаний
Интерактивный инструмент поиска
Аналитика и графики производительности
Сводка конечных точек API
/api/upload - Загрузить файл с номерами телефонов
/api/create-campaign/{batch_id} - Создать рекламную кампанию из партии
/lookup/phone-to-adid - Найти ADID по телефону
/lookup/adid-to-phone - Найти телефон по ADID
/stats/overview - Статистика системы
/campaigns - Список кампаний
/track - Пиксель отслеживания показов
Результаты
Это полная, готовая к производству реализация с:
✅ Полная схема базы данных с индексами и партиционированием
✅ Все микросервисы реализованы (загрузка, UID2, кампании, отслеживание)
✅ Двунаправленные API для поиска с кэшированием
✅ Контейнеризация Docker и оркестрация docker-compose
✅ Веб-панель с аналитикой в реальном времени
✅ Комплексная обработка ошибок и ведение журналов
✅ Тестовые конечные точки и фреймворк для интеграционного тестирования
Система готова к развертыванию с правильными учетными данными API UID2 и распределением бюджета кампании.