C# console app to convert restful web service JSON to CSV

Në Vazhdim Postuar 7 vite mё parё Paguhet në dorëzim
Në Vazhdim Paguhet në dorëzim

This project is to create a console app in C#. When executing the app it will connect to a restful webservice endpoint using OAth, retrieve results in JSon and convert them to a CSV file and save CSV the file to disk.

The web service we will be using to test this is this HubSpot restful API, which you can access using their demo: [login to view URL] That API call returns a list of recently updated contacts.

Include step by step instructions to get the OAuth credentials. ([login to view URL])

Code the app to automatically refresh the credentials when they are near expiring ([login to view URL])

The inputs to the console app should be placed into the config file. The inputs are:

* Path to output CSV file

* Credentials for OAth

* The endpoint URL

* The path to the primary array. This is the main dataset for which each item in the list will be one row in the output CSV. For the hubspot "get recent contacts" API this is the "contacts" object.

* List of columns - this will represent each column in the CSV. For each column we need (a) a title for the column (b) the path or search in the json object to find the value for the column. For the hubspot "get recent contacts" API to include last name:

Title: Last Name

Value: [login to view URL]

In some cases the path may require a conditional value and so JSonPath [login to view URL] or LINQ may be helpful. For example the path to the email address is the first object inside [login to view URL] where type is equal to 'EMAIL':

[login to view URL][?(@.type='EMAIL')][0]

using that we should be able to extract any value in a row object to a column value.

*Filter - this will allow us to exclude only rows for which a column contains a particular value. The path to the value should be the same as above to specify the columns. For our purposes we just need a simple condition "Column = value". In particular we are only interested in contacts where the deal_stage is equal to "Closed Won".

*Log file - path to log file where all errors should be written. (Probably easiest using log4net).

*Debug - perhaps this should be a command line argument instead of in the config but we should be able to debug the application by passing in this parameter. This should then allow us to view the raw JSON that is being downloaded so we can debug any issues. If debug mode is on, any steps the code is taking should be outputted so we can find where problems occurred if they did.

The deliverable on this project must include a working setup with the config file properly set up to download all recently updated contacts from hubspot for which deal_stage is equal to "Closed Won".

In order to be considered for this project you must include in your bid text a brief summary of how you will approach this project (any libraries or tools you may use, if any outside of what comes with .net) and what relevant qualifications you have or similar projects you have done. I have done many projects on freelancer and I value clear and timely communication and organized coders with well thought out project architectures.

Thank you and good luck!

Programim në gjuhën C# JSON OAuth RESTful Shёrbimet Ueb

ID Projekti: #10946441

Rreth projektit

37 propozimet Projekti në distancë Aktiv 7 vite mё parё