function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
michaellee.ampfmichaellee.ampf 

Integration Design Advice

Hi,


I'm building an integration between salesforce and another, external, web based system. 

 

The general pattern is that Salesforce passes to the external system a URL, and then the external system calls on that URL to grab the information from within Salesforce.  I've got reasonable security in place, and everything works as it should.

 

However, right now I've got the record IDs passed in the URL.  That doesn't scale large enough, so I'd like to find some way to stash all of the IDs and be able to grab them when they come back.

 

Right now my plan would be to create a new custom object that can store all of the IDs so when the callback happens they can all be grabbed by a single ID.  That seems relatively straight forward, but I wanted to see if there were any other suggestions or recommendations. 

 

Hope the description is clear.

 

Thanks!

Michael

 

gm_sfdc_powerdegm_sfdc_powerde

Depends on the business logic behind grouping those IDs.  Is it possible to expose a service that the external system can call to get the list of IDs?  That would be a more RESTful approach - I know you may not be particular about using REST here, but the point is to make it simpler and more scalable.   If building such a list of IDs could be expensive, your idea to store them in custom objects is definitely an option. 

michaellee.ampfmichaellee.ampf

I'm fairly limited on the external system.  The protocol is pretty much I pass the external system a URL, and the external system requests that URL to grab the content.   

 

The business logic in grouping IDs is (more or less) random from our perspective.  The general use case is that the end user can pick several contacts from a list, and then "push" those contacts to the other system. 

 

The problem is that it needs more state than can be simply passed to the other system in the URL - so I'm trying to determine what might be the best approach.  I'd certainly be interested in making it as RESTful as possible.

 

Thanks!

Michael

 

gm_sfdc_powerdegm_sfdc_powerde

Since your grouping logic is random, your approach to create a custom object sounds good to me.  If the list of IDs is always for a particular object, I would consider creating this field as a look up field on custom object for better data integrity and ease of use of IDs with relationships.  However, if you need to store IDs as plain text that should work too, though you should be aware of 15-digit and 18-digit representations for IDs and use them in a consistent manner.