We need scripts written in Ruby to pull case and user data from the [url removed, login to view] APIs. This data will then be converted from JSON into CSV files.
The script(s) will be run via cron on a Linux server. They will need to deal with [url removed, login to view] API rate limits as well as any performance issues resulting from the volume of data that they fetch.
The script(s) should be configurable for each [url removed, login to view] object we want to pull. We will want to fully refresh some each time the script is run. We will only want to pull new and updated records for others.
Upon completion, the script should parse the JSON returned by the Desk API into multiple CSV files whose structure matches each table described in the database schema we provide. These tables should be capable of being copied into a relational database with no additional transformations required.
Since pulling large amounts of data from the Desk API can be time-consuming and full refreshes of some tables are not ideal, the tools should be able to do the following:
(i) Create files containing new records to be loaded from tables that contain solely static entities (for example, history_events)
(ii) Pull new & updated information from objects that have the potential to change, compare it to master files of activity tied to those events that took place over the last N days (where N is a number we can configure), then use this to generate final files of (i) existing records that need to be updated & (ii) records that need to be created in the database
(iii) Name the files appropriately (i.e. [url removed, login to view] or [url removed, login to view]) so that we can build file name parsing logic when loading into a database.
(Suggestions for an alternate approach are welcome if a better way of doing this is readily apparent)
Desired fields and objects to be pulled can be discussed upon further interest.
JSON, Ruby, API, Desk API
13 freelancers are bidding on average $1348 for this job
We are highly interested in this project. We are well verse with the technology demand of this project. We can have more discussion if you are interested.