Техническое задание: Интеграция функционала отправки для формы обратной связи
Цель проекта
Реализовать серверную логику для обработки данных из уже сверстанной клиентской формы обратной связи. Данные должны отправляться на два канала: указанный email-адрес и в Telegram-чат через бота.
Исходные условия
- Фронтенд-часть (HTML/CSS/JS верстка формы) уже готова.
- Форма содержит стандартные поля (например, имя, контакт, сообщение).
- Требуется разработать или доработать бэкенд-скрипт для приема и обработки данных.
Основные требования
1. Обработка и отправка данных
- Написать скрипт (PHP/Python/Node.js - на усмотрение исполнителя), который будет принимать POST-запрос от формы.
- Организовать двойную отправку данных:
- На заданный email-адрес в виде письма.
- В указанный Telegram-чат через API бота.
- Формат и оформление сообщений (тема письма, текст в Telegram) должны быть читаемыми и содержать все данные из формы.
2. Валидация данных
- Реализовать проверку всех обязательных полей на стороне сервера.
- Валидировать корректность формата email и, при необходимости, номера телефона.
- Проверять длину текстовых полей (минимальную/максимальную).
- При обнаружении ошибок возвращать пользователю понятное сообщение с указанием, какие поля нужно исправить.
3. Обратная связь пользователю
- При успешной отправке данных выводить соответствующее уведомление на странице с формой.
- При ошибках отправки (проблемы с SMTP, Telegram API и т.д.) логировать ошибку и информировать пользователя о технической неполадке.
4. Безопасность
- Защитить скрипт от прямого доступа и спам-атак (например, с помощью проверки реферера или простой капчи, если это предусмотрено).
- Экранировать пользовательский ввод перед отправкой в письме и Telegram для предотвращения инъекций.
Результат работы
- Рабочий серверный скрипт, интегрированный с существующей формой.
- Корректная отправка заявок на почту и в Telegram.
- Надежная валидация всех полей.
- Краткая документация по настройке (указание email, токена Telegram-бота, ID чата).