Техническое задание: Backend на Node.js (Express)

Общие требования

Необходимо разработать серверную часть приложения на Node.js + Express. Фронтенд-часть (внешний вид пользовательских страниц) изменять не требуется (условно считается уже готовой или не входит в рамки задачи). Файл .env и ключи доступа в задании не предоставляются.

1. Настройка оплаты через платежную систему

  • Интеграция платёжного шлюза без использования официального SDK, только через прямые HTTP-запросы к API выбранной платёжной системы (в задании была указана YooKassa, переименовавазвание) .
  • После формирования платежа пользователь должен быть перенаправлен (редирект) на страницу оплаты.
  • Подтверждение платежа проводится по стандартному протоколу (обработка уведомлений от системы).

2. Серверные промокоды (купоны на скидку)

  • Промокоды являются одноразовыми.
  • На каждый активированный промокод установлен «резерв» в 5 минут (время между генерацией и применением скидки).
  • Расчёт стоимости со скидкой производится исключительно на серверной стороне.
  • Логика проверки и применения кодов не должна быть реализована в коде клиента (браузера).

3. Уведомления в Telegram

  • При создании нового заказа система отправляет боту сообщение в Telegram.
  • Помимо данных о заказе (состав, стоимость, контакты), уведомление должно содержать итоговый статус оплаты.
  • Не требуется автосинхронизация чата или создание админки; требуется стабильная отправка постороении oberi.

Разработка парсера для публичного реестра с гибким поиском

Требуется создать парсер для извлечения сообщений из публичного онлайн-ресурса. Поиск должен осуществляться по гибким шаблонам с использованием маскирования символов. Необходимо скрыть в задании все конкретные ссылки и идентификаторы.

Настройка интеграции CRM и интернет-магазина

Требуется установить и настроить плагин для синхронизации данных между платформой интернет-магазина и популярной CRM-системой. Необходимо обеспечить корректный обмен заказами и контактами.