Скрипт на Python для отправки писем на e-mail с базой данных

Цена договорная
22 мая 2023, 17:33 • 17 откликов • 180 просмотров
Если коротко, то нужно сделать скрипт, который будет принимать данные через вебхуки из Тильды и заказы по API из Яндекс Маркета и на основании этих данных отправлять по электронной почте ключ (лицензию) клиенту. Ключи известны заранее. Также нужна база данных с веб интерфейсом для работы с ключами.

Ниже я описал как должна быть реализована задача, во вложении принтскрин с образцом письма.

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

Полное описание:

  1. Требования:
    • Скрипт должен принимать данные через вебхуки из Тильды (если удобен другой способ получения данных для реализации задачи, то можно рассмотреть)
    • При получении данных через вебхуки скрипт должен извлекать необходимую информацию, включая имя клиента, номер телефона, название товара, номер заказа и другие.
    • Прием заказов по API из Яндекс Маркета, на основании этой и этой инструкции.
    • Скрипт должен проверять наличие ключей в базе данных и формировать письма с соответствующими ключами.
    • На основе полученных данных скрипт должен отправлять по электронной почте ключ(и) клиенту.
    • Ключи для каждого заказа разные и сгенерированы заранее.
    • Скрипт должен иметь возможность отправки как одного, так и нескольких ключей в одном письме.
    • Некоторые ключи могут состоять из 3 кодов, например, если клиент покупает 1 ключ на 3 года, ему должны быть отправлены 3 ключа по 1 году.
    • У каждого товара есть уникальный артикул, который передает Тильда.
    • Письма должны быть разными, с использованием до 10 шаблонов (количество шаблонов может быть уменьшено путем добавления дополнительных строчек, таких как ссылка на инструкцию по активации и другая информация).
    • Письма должны содержать динамические данные, передаваемые через вебхуки, такие как имя клиента, название товара, номер заказа и номер телефона.
    • Письма должны быть отправлены с шифрованием и DKIM-подписью.
  2. База данных:

    • Ключи должны храниться в базе данных.
    • Скрипт должен получать ключи из базы данных.
    • При продаже ключа, в базе данных должна быть создана отметка о продаже, содержащая информацию о покупателе (имя, телефон, электронная почта) и название товара из заказа.
    • База данных может быть развернута на сервере или использоваться аналоги, такие как Google Docs.
  3. Веб-интерфейс для работы с базой данных:

    • Возможность работы с базой данных через веб-интерфейс.
    • Веб-интерфейс должен позволять просматривать, изменять и удалять информацию о ключах, продажах и других соответствующих данным.
    • Возможность массово загружать ключи, либо копировать/вставить (например, как в Excel) или загрузка файла типа Excel с новыми ключами.
  4. Уведомления:
    • Скрипт должен уведомлять об ошибках, отправляя сообщения на электронную почту.
    • Скрипт должен также уведомлять по электронной почте, если ключи заканчиваются.
Технические требования:

  • Разработка на языке программирования Python.
  • Использование фреймворков и библиотек для веб-разработки, отправки электронной почты и работы с базой данных (например, Flask, Django, smtplib, sqlalchemy).
  • Использование криптографических библиотек для шифрования и DKIM-подписи писем.
  • Развертывание скрипта и базы данных на сервере (если требуется).
  • Код должен быть хорошо комментирован и структурирован.
Дополнительные требования:
        • Реализация механизма для отслеживания и уведомления о нехватке ключей в базе данных.
        • Логирование и отправка уведомлений по электронной почте об ошибках или сбоях в работе скрипта.
        Пожалуйста, обратите внимание, это общее техническое задание, и некоторые детали могут быть уточнены или изменены в процессе разработки.
        Файлы