API data submission script

Completado Publicado Mar 10, 2011 Pagado a la entrega
Completado Pagado a la entrega

You will need to create a script that will ingest LARGE (100MB+) CSVs into a database and then over time feed them into an API.

The idea is that we want to make it look like people are naturally registering at a website and entering their data when in reality they are already in our database and we are just transfering them over to a new system via the api in a slow natural looking manner.

Here is the flow:

1) User will be presented with a page to upload a CSV file to the server. (Note: this upload functionality must support large 100MB+ files).

2) User will be taken to a page on the server to trigger igestion of the CSV file

3) The script will look at the CSV file on the server and ready it for analasys and ingestion.

4) THe script will pull the first two rows of the uploaded files and present the user with a GUI for relating the columns in the file to the datafileds the API accepts (Ex: Name, email address, city, state, etc)

5) once the fields are mapped the user will click next and the script will scan the CSV and determine the total number of rows

6) on the next page the user will be presented with that total number of rows and given a integer field titled "Records per day" to populate with a number and a "List name or ID" field (the list name will be the autoresponder or list inside the receiving API that the data will be loaded to.)

7) The user will then hit Start and the script will begin to run.

8) In the background the script will then import all of the mapped column data into a local database.

9) The script will then connect to the API and begin to load the data from the databvase into the API in a random manner with the following guidelines:

- The records per day number should be the middle of a range of records that are entered into the API on a daily basis. the range will be +/- 7% (note: the exact number of records per day should never be entered just a number close to it so it looks natural)

- The records should be entered into the API at random time intervals over 24 hours to reach that days total.

- The script should continue to run daily until the entire set of records has been uploaded.

- The script will enter records into the user defined List name/ID via the API.

## Deliverables

The script must support different CSVs to be loaded to different List name/IDs via the API concurrently.

The script must run on a standard LAMP server preferably written in PHP.

IMPORTANT: The script should be written to be as agnostic of the actual API as possible. Meaning you should make it so a different API can be plugged in by you or another developer relatively easily. In a FUTURE iteration you will be asked to allow the user to choose which API the data is submitted to so please make this version of the script flexible with that future functionality in mind. To this end all API info (login keys and such) should not be hard coded but instead shuold be in an easily updateable config file.

The first API to be integrated is Office Autopilot.

Use the attached API documentation to implement the script.

PS: If you are not going to use PHP please give a thorough explanation as to why your suggested solution is better.

Please post if you have any questions.

thanks!

Amazon Web Services PHP Arquitectura de software Verificación de software Web Hosting Gestión de páginas web Verificación de páginas web

Nº del proyecto: #3161070

Sobre el proyecto

3 propuestas Proyecto remoto Activo Mar 14, 2011

Adjudicado a:

phpdevteam

See private message.

$170 USD en 10 días
(58 comentarios)
5.4

3 freelancers están ofertando un promedio de $368 por este trabajo

liumy1985

See private message.

$340 USD en 10 días
(150 comentarios)
5.6
dmalcom

See private message.

$595 USD en 10 días
(9 comentarios)
4.9