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