Mastering Salesforce Integration: A Comprehensive Guide to APIs with Apex and Aura Component Examples

by Himanshu Varshney, Senior Salesforce Developer

SFApexExampleApi

REST API

Purpose: Used for accessing resources in any format (XML, JSON, etc.) over HTTP with a wide range of functionalities.

Example in Apex:

HttpRequest req = new HttpRequest();
req.setEndpoint('https://yourinstance.salesforce.com/services/data/vXX.0/sobjects/Account/');
req.setMethod('GET');
Http http = new Http();
HTTPResponse res = http.send(req);

Example in Aura Components:

action.setParams({
  "request": req
});


SOAP API

Purpose: Primarily used for integrating with enterprise systems, supporting XML-based messaging.

Example in Apex: Apex does not natively consume SOAP; it's typically used on the external system to call into Salesforce.


Bulk API

Purpose: Optimized for loading large sets of data asynchronously. It's efficient for querying large datasets.

Example in Apex:

AsyncApexJob a = [SELECT Id, Status, NumberOfErrors, JobItemsProcessed,
                  TotalJobItems, CreatedBy.Email
                  FROM AsyncApexJob WHERE Id = :jobID];


Metadata API

Purpose: Used for managing customization and building tools that can manage the metadata model, not the data itself.

Example in Apex: Typically used via tools like ANT migration tool, not directly accessible in Apex.


Streaming API

Purpose: Useful for receiving notifications for changes to Salesforce data (in near real-time).

Example in Aura Components: Aura Components can subscribe to a channel to receive notifications.

$A.get("e.empApi:subscribe").setParams({
    channel: '/event/My_Event__e',
    replayId: -1
}).fire();


Tooling API

Purpose: Allows you to build custom development tools or apps for Salesforce platforms. It provides endpoints for describing, querying, and modifying your metadata.

Example in Apex:

HttpRequest req = new HttpRequest();
req.setEndpoint(URL.getSalesforceBaseUrl().toExternalForm()+'/services/data/vXX.0/tooling/query?q=Select+Id,Name+From+ApexClass');
req.setMethod('GET');


Chatter REST API

Purpose: Used for accessing Salesforce Chatter feeds and social data such as users, groups, followers, and files.

Example in Apex:

ConnectApi.FeedItem fi = ConnectApi.ChatterFeeds.postFeedItem(null, ConnectApi.FeedType.News, 'me', 'Hello World', null);


UI API

Purpose: Lets you build UI for viewing Salesforce data, loading records, and saving changes back to the server.

Example in Aura Components:

var action = component.get("c.getRecord");
action.setParams({ recordId : component.get("v.recordId") });


Analytics API

Purpose: Used for running reports and accessing analytics data.

Example in Apex: Not typically used directly in Apex; more for external systems.


Composite API

- **Purpose**: Allows you to combine multiple requests into a single call.
- **Example in Apex**:
  ```apex
  HttpRequest req = new HttpRequest();
  req.setEndpoint('https://yourinstance.salesforce.com/services/data/vXX.0/composite/');
  req.setMethod('POST');

Each API serves a specific purpose and offers different capabilities. Apex and Aura Components can leverage these APIs to create powerful, integrated Salesforce applications. The examples provided demonstrate basic usage and would need to be adapted to your specific requirements.

Schedule a demo

More articles

Comprehensive Investment Recommendation Report: Nvidia (NVDA)

Investors should consider Nvidia as a compelling investment opportunity, with a strong outlook driven by innovation and solid financial performance. However, it is essential to stay informed about market trends and potential risks to make well-informed investment decisions

Read more

AI for Wildlife Conservation: Monitoring and Protecting Endangered Species

In an era where biodiversity loss threatens the delicate balance of our ecosystems, innovative technologies are emerging as powerful allies in wildlife conservation efforts. Artificial Intelligence (AI) stands at the forefront of this technological revolution, offering unprecedented capabilities for monitoring and protecting endangered species. This blog post explores the transformative role of AI in wildlife conservation, highlighting its applications, benefits, and the challenges that lie ahead

Read more