We'd like to add salesforce contacts sync functionality to an existing django application.
The idea is that users can create settings (salesforce oauth credentials) and then the system will be able to connect to their salesforce account and pull in contact data from salesforce. There should be a setting that determines whether syncing should be one-way or two way.
The application should expose some views to the user to see data that has been sync'ed recently, and to update the sync settings. It should be designed as a drop-in application, although the contact application will be another application that exists already.
Salesforce oauth is the preferred mode of authentication, so the application must support that.
The user's phone number (in international format) should be used as the main identifier to determine whether a record exists or not. The app should be able to notice when the salesforce phone number is not in international format, and try to use the country information to get it into the right format.
The application should store the last sync date and only pick up records added or updated after that date. It should be able to update changes to contact names and email addresses.
The actual syncing should be asynchronous (CELERY), and should be designed to scale properly, and still work within salesforce's limits.
If an application is required on salesforce's side to facilitate the syncing (via REST/SOAP APIs/oAuth, etc) then that will need to be developed and taken through the marketplace approval process on our behalf, as part of this engagement.
Both applications should be coded with best practice coding, over 90% code coverage and availability of all source code.
At the start of the project you will propose a list of third party applications that you will be using (if any), along with a design for the application - we will vet this list to ensure that these applications meet the criteria necessary for inclusion, and we will vet the design before we proceed.
There is possibility for longer term engagement, and as such, we prefer individuals over teams. The candidates can be from anywhere, but must be able to work/meet during the US daytime at least once a day for the duration of this project. The candidates must be conversant with source control software.
You will need to be familiar with source control systems (mercurial, git, bitbucket, github, etc)
Dear Hiring Manager,
I have good experience with different kind of APIs, JSON and XML. Till now I developed 50+ web applications. Some of these use third party api like Google Map, Ebay, Amazon, CJ, Zazzle, Wego.
If you give me this opportunity I can assure you that I will COMPLETE YOUR PROJECT SUCCESSFULLY as per your requirements. I look forward to speaking with you about this opportunity. Thank you for your time and consideration.
Best Regards,
Prashant.