During my summer internship at RAS Systems in 2021, I worked alongside the CEO to create an API that could link their main data website with their existing Salesforce site. Although most of the coding was performed in Salesforce, a third-party site was utilized to gather queries from both sites and send executing code to Salesforce. After the completion of the project the code was successfully integrated into their sales system, providing a seamless integration between the two sites.
API Code Flow Chart
Salesforce Site
The Salesforce code is employed to monitor any changes that the sales team makes to a customer's data profile. Upon detecting a change, the code sends a confirmation email to the sales team, who can then approve or reject the request by replying with a simple 'yes' or 'no' to the email. In the same way, the third-party query site can identify any modifications made to the customer data on RAS's data site, and can initiate the Salesforce code to update the information and send additional email confirmation.
Query Site
When a change is detected on the customer page of either site, the code on the query site will compare the values of both to determine if they match. If the values match, the code will abort any further update changes. However, if the values do not match, the code will initiate an update on the opposing site to synchronize the values with the site that the input occurred on. This mechanism is in place to prevent the occurrence of an infinite feedback loop of data changes.
RAS Data Site
On RAS's data site, any updates detected and confirmed from the Salesforce site will be automatically initiated. Conversely, any changes made on RAS's data site will trigger an email confirmation through the Salesforce side.
Example of Salesforce Customer Data Page
What I Learned
Throughout this project, I acquired valuable experience in working with Salesforce and honed my ability to write efficient code that prevents unwanted loops, allowing me to deliver efficient results.