Автоматизация процесса покупки товаров

Цена договорная
11 сентября 2024, 20:29 • 7 откликов • 65 просмотров
Техническое задание для автоматизации процессов авторизации, ввода данных, привязки карты и покупки товаров

1. Цель проекта Создание автоматизированного решения, которое позволяет выполнять следующие действия без участия человека:

  • Авторизация пользователя в системе https://store.playstation.com/en-tr.
  • Ввод необходимых данных (логин, пароль, резервный код).
  • Привязка платежной карты к аккаунту пользователя.
  • Удаление старых товаров из корзины
  • Совершение покупки товаров.
  • Отвязка карты
  • Обработка возможных факторов (например, двухфакторная аутентификация) и отправка отчета о выполнении операции.
  • Преодоление ошибок
2. Требуемая функциональность 2.1 Авторизация
  • Автоматический вход в аккаунт пользователя, используя данные из таблицы "Customers" в базе данных // внешний тригер с данными пользователя
  • Обработка сценариев с двухфакторной аутентификацией (2FA) — получение кода с почты, SMS или аутентификатора в коммуникации через телеграм бота
2.2 Ввод данных
  • Использование логина, пароля и резервного кода пользователя из базы данных для входа в систему.
  • Обработка ошибок и проверка правильности ввода данных.
2.3 Привязка карты
  • Автоматическая привязка платежной карты из внешнего источника (например, Google таблицы) к аккаунту пользователя.
  • Обработка возможных ошибок при привязке и перепривязке карт.
  • Отвзяка карты
2.4 Покупка товаров
  • Автоматическое выполнение покупки товаров или подписок через интерфейс веб-сайта
  • Обеспечение возможности автоматической отправки вебхуков или HTTP-запросов для получения и отправки данных в другие системы.
2.5 Обработка ошибок и уведомлений
  • Логирование действий и ошибок для каждой выполненной операции.
  • Отправка уведомлений в Telegram/Slack о статусе выполнения каждой операции (успех/ошибка).
  • Возможность отправки вебхуков с данными о завершенной операции на указанный URL.
3. Технические требования 3.1 Бэкэнд
  • Язык программирования: любой (с использованием Puppeteer, Selenium или аналогов).
  • База данных: PostgreSQL (данные пользователей) и Google Sheets (данные карт).
3.2 Интеграция и API
  • Возможность отправки HTTP-запросов для взаимодействия с другими системами, например, с ботом в Telegram.
  • Вебхуки: отправка результатов выполнения операций на указанный endpoint (например, Slack, Telegram).
4. Входные данные
  • Данные для авторизации:

    • Логин, пароль, резервный код из таблицы "Customers" в базе данных PostgreSQL.
  • Данные для привязки карт:

    • Номер карты, дата окончания действия, CVC из Google таблиц и адрес
    • Настройки прокси:
    • Список доступных прокси (socks5).

6. Интеграции и взаимодействие
  • Интеграция с базой данных PostgreSQL для получения данных пользователей.
  • Интеграция с Google Sheets для получения данных карт.
  • Возможность получения запросов из Telegram и других источников, их обработки и отправки ответов.
7. Возможные трудности и решения
  1. Ограничения и блокировки сайтов:

    • Использование антидетект браузеров для обхода ограничений.
    • Регулярная ротация прокси для минимизации риска блокировки.
  2. Обработка двухфакторной аутентификации:

    • Поддержка сценариев с получением кода из почты, SMS, аутентификатора.
    • Возможность ручного подключения в случае сбоя автоматизации.
  3. Ошибки при привязке карт:

    • Логирование ошибок и автоматическое переключение на следующую карту из списка в случае неудачи.
8. Требования к безопасности
  • Защита передаваемых данных (шифрование).
  • Безопасное хранение учетных данных.
  • Ограничение доступа к базе данных и другим ресурсам.
9. Ресурсы и доступы
  • Прокси-сервисы: Доступ к списку прокси-серверов
  • Тестовые данные: Логины, пароли, карты для тестирования.
10. Отчетность и документация
  • Предоставление отчета о проделанных работах.
  • Инструкции по установке и запуску приложения.
  • Документация по API и взаимодействию с другими системами.