APIs in Salesforce Integration

Prev Next

Salesforce Integration – API Usage & Call Counts

1. Objects We Pull

Category

Object Details

Core CRM Objects

Account, Contact, Lead, Opportunity, Campaign, CampaignMember, User, Product2, RecordType

Pipeline Objects

OpportunityLineItem, OpportunityStage, OpportunityPartner, OpportunityContactRole, Period, ForecastingFact, ForecastingItem, ForecastingType

History Objects

LeadHistory, OpportunityHistory, OpportunityFieldHistory, AccountHistory, CampaignHistory, ContactHistory

Other Objects

Task, Event, EmailMessage, EmailMessageRelation, LeadStatus, CampaignInfluence, UserRole

Custom Objects

<Any custom object required for reporting>


2. APIs Used

2.1 Metadata API (per object)

Endpoint:

GET /services/data/vXX.X/sobjects/<ObjectName>/describe

Purpose:

  • Fetch fields and data types

  • Determine allowable filters

  • Build export query dynamically

Calls per Object:

  • 1 call per object per day

2.2 Bulk API 2.0 – Create Query Job

Endpoint:

POST /services/data/vXX.X/jobs/query

Purpose:

  • Creates the bulk job with a SOQL query

  • Returns the jobId

Calls per Object:

  • 1 call per object per sync

2.3 Bulk API 2.0 – Poll Job Status

Endpoint:

GET /services/data/vXX.X/jobs/query/<jobId>

Purpose:

  • Check job state (Queued → InProgress → Completed → Failed)

Calls per Object:

  • Typically 5–12 polls per job

2.4 Bulk API 2.0 – Get Results Locator

Endpoint:

GET /services/data/vXX.X/jobs/query/<jobId>/results

or

GET /services/data/vXX.X/jobs/query/<jobId>/results?locator=<locator>

Purpose:

  • Retrieve result locators for the completed job

Calls per Object:

  • 1 call per job

  • 1 call per locator

2.5 Bulk API 2.0 – Download Result Chunks

Endpoint:

GET /services/data/vXX.X/jobs/query/<jobId>/results?locator=<locator>

Purpose:

  • Download the actual CSV data chunks

Calls per Object:

  • 1–6 calls depending on number of locators

3. Call Volume Summary (Per Object Per Day)

  • Metadata Describe Call: 1

  • Create Job: 1

  • Polling: 5–12

  • Get Locators: 1

  • Download Chunks: 1–6

Total Estimated Calls per Object:

~9 to ~21 calls per object per day