Python/C# Application for Constant Contact API Integration and Automated CSV Processing

Job ID: 37595005

Budget: $250 – $750 USD

Programming Request: Python/C# Application for Constant Contact API Integration and Automated CSV Processing
Introduction
We are in need of a skilled Python or C# developer to create an application that interfaces with the Constant Contact API. The primary function of this application will be to import contact information from two or more CSV files and upload these contacts to a user's Constant Contact account. One CSV file will be used for general contact uploads, while the other will be specifically for creating or updating a list intended for sending surveys via email or phone. The application should be designed to run on a Windows Server and be executable via Windows Task Scheduler multiple times a day. https://developer.constantcontact.com/api_guide/index.html

Project Objectives
CSV File Import: Import and or parse multiple CSV files containing contact details and survey list information.
Constant Contact API Integration: Seamlessly integrate with the Constant Contact API for uploading contacts and managing survey lists.
Data Validation and Formatting: Ensure that the data from the CSV files is correctly formatted and validated before being sent to the API.
Scheduling and Automation: The application should be capable of being scheduled to run autonomously on a Windows Server using Task Scheduler.
Error Handling and Logging: Implement robust error handling for file parsing and API interactions, along with comprehensive logging for troubleshooting.
Technical Requirements
Programming Language: Python (3.x) or C# (.NET Core or .NET 5/6).

API: Utilize the latest version of the Constant Contact API.

Testing: The application should include unit tests and, if possible, integration tests.

Documentation: Provide detailed code documentation and a user manual for setup and operation.

Platform: Ensure compatibility with Windows Server environments.

Execution and Scheduling
The application must be executable through Windows Task Scheduler.
It should be capable of running at specified intervals without manual intervention.
Ensure stability and efficient resource usage when running in a Windows Server environment.
It should remove older files as they are processed and archive them in a folder where the program is run.
It should log each run and create a log file how the process went or any errors that happened. The ability to email on error detection.

Deliverables
Executable Application: A fully functional application in Python or C#.
Source Code: Well-documented and organized source code.
User Manual: A comprehensive manual detailing setup, configuration, and operational procedures.
Deployment Guide: Instructions for deploying and configuring the application on a Windows Server, including Task Scheduler setup.
Testing Documentation: A report detailing the testing strategy and results.

Conclusion
This application is aimed at automating the process of managing contacts and survey lists in Constant Contact, thereby enhancing efficiency and accuracy in marketing and communication efforts. We look forward to collaborating with a developer or team who can deliver this solution within our specified budget and timeline constraints.