★ Только для Премиум
Backend-скрипт эмуляции пользовательского сценария в мобильном приложении

ТЗ: Backend-скрипт эмуляции пользовательского сценария в мобильном приложении Ozon
1. Цель
Разработать скрипт, который через сетевые запросы эмулирует поведение мобильного приложения Ozon — от запуска до просмотра карточки товара. Сессия гостевая, без авторизации.

2. Платформа (iOS или Android — на выбор исполнителя)
Вариант А — iOS:

Устройство: iPhone (актуальная модель)
UA: OzonStore/<build> CFNetwork/<v> Darwin/<v>
Транспорт: HTTP/2, TLS с Safari fingerprint
API: api.ozon.ru

Вариант Б — Android:

Устройство: актуальный Android-смартфон
UA: okhttp/4.9.3 или актуальный
Транспорт: HTTP/2, TLS с Android fingerprint
API: api.ozon.ru / xapi.ozon.ru

Исполнитель выбирает платформу самостоятельно исходя из своего опыта. Требования к результату одинаковые для обеих платформ.

3. Сценарий (обязательные шаги)
# Шаг - Что происходит
1 Запуск приложения - Инициализация сессии, получение конфигов
2 Открытие поиска - Трекинг открытия поисковой строки
3 Поисковый запрос - Запрос к поисковому API по заданной строке
4 Применение фильтров- Выбор фильтра из выдачи
5 Применение сортировки- Изменение порядка выдачи
6 Скролл выдачи - Пагинация результатов
7 Открытие карточки товара- Запрос по конкретному SKU
8 Просмотр карточки - Загрузка данных товара (цена, кнопки, описание)

4. Антибот
Ozon использует собственную антибот-систему на базе JS proof-of-work. Исполнитель должен:

Корректно обрабатывать 403 + challengeURL на любом запросе
Решать JS-challenge и отправлять валидный токен на /abt/result
Управлять сессионными куками (abt_data, __Secure-ETC и др.)
Поддерживать работу через SOCKS5-прокси

Метод решения challenge — на усмотрение исполнителя (headless-браузер, реверс JS-движка, другое).

5. Интерфейс запуска
bashpython script.py \
--sku 15817423453 \
--query "наушники беспроводные" \
--proxy socks5://user:pass@host:port
Параметры:

--sku — SKU товара для открытия карточки
--query — поисковый запрос
--proxy — прокси (опционально)
--threads — количество параллельных потоков (опционально)

6. Логирование

Каждый запрос: метод, URL, статус, время
Итоговый отчёт: успешных / ошибок / антибот-срабатываний
Режим без реальных запросов для отладки

7. Критерии приёмки

Все 8 шагов выполняются без ошибок
/abt/result возвращает 200 OK (challenge пройден)
initAuth возвращает 200 OK
Поисковая выдача содержит товары
Карточка товара открывается по заданному SKU
Работает с SOCKS5-прокси
Есть логирование каждого шага

8. Стек
Python предпочтителен, но не обязателен. Важен результат.

9. Сдача

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

Инженерия и Проектирование
3 месяца назад Не важна 5 172
Гонорар
50 000 ₽ / заказ
Срок: 7 дней

Доступно для владельцев премиум-аккаунтов

Если у вас уже есть премиум-аккаунт, вам нужно авторизоваться

Получите полный доступ и дополнительные сервисы с Премиум аккаунтом

Используйте все возможности сервиса - Подключите Премиум аккаунт