Getting data out of Salesforce in near real time
This post is originated from a well-made Apex Hours video Get Data out of Salesforce... which I want to dig it deeper.
It gives a clear picture showing how to better transfer data with salsforce. Of course, if near-real time is not suitable for the case, we could select bulk api with batch.
The main methods of intraction with Salesforce
On Platform Options
- Outbound Messaging
- Callouts
- Salesforce Connect (External Data Source)
Off Platform Options
- Heroku Connect
- Streaming API
- Change Data Capture
- Polling (REST/SOAP)
Here is the summary table:
What I want to describe a little more is that the second one:'Apex Callout'. As others said in the stackoverflow,
"any action that sends a call to the API counts toward usage limits, except the following : ->
Outbound messages
Apex callouts
The API call limit includes inbound calls only. Outbound calls (i.e. callouts) are only governed by the per transaction and maximum timeout limits."
:->stack overflow
So, what I want to say about the governor limit when get data in near-real time by using Apex Callouts, is that there are the per transaction and maximum timeout limits but the 24-hour api number limit is not a problem.(I write a blog to state this is becasue when designing system intergation related to Salesforce, api governor limit is always needs to be considered.)
If necessary, I will continually update this blog.