Salesforce Rest API with Example
When we talk about Salesforce Data API's - "Rest API", "SOAP API", "Bulk API" and "Streaming API" are few commonly used API's which enables us to manipulate Salesforce Data. There are other API's available which are specifically used for Metadata changes.
In this post we will stress mainly about Rest API along with some live examples.
Salesforce exposes the functionality to retrieve data and manipulate data via Rest Resources and HTTP methods. By Manipulating data I mean creating ,updating and deletion of records.
Since Rest Callout are based on HTTP methods, lets understand the basic methods.
HTTP Method | Description |
---|---|
GET | Retrieve data identified by a URL. Works similar to a query |
POST | Create records/ Post data to server. |
DELETE | Delete Record/ resource identified by a URL. |
PUT | Create or replace the record/resource sent in the request body. |
To view these methods in action , I have built a Rest Explorer on Salesforce Sites and exposed it to the "Salesforce Rest Explorer" tab of the website. use this link
http://www.worldofsalesforce.com/p/world-of-salesforce.html
to open the Rest Explorer.Login to your organization by providing the username, password and selecting the Environment. Select production in case the organization you want to connect is develop org.
On successful validation of credentials you would be presented with a screen to choose the HTTP method and perform REST Callout to the org. You also see the session information by clicking on the Session Information tab.
GET Method: Let’s try out the SObject Describe resource. This resource, when combined with the GET method, returns metadata about an object and its fields.
We’ll try describing the Account object. Replace the existing text in the URI text box with /services/data/v39.0/sobjects/account/describe , where 39 maps to the API version.
Lets Understand the URI before clicking on Execute.
- /services/data—Specifies that we’re making a REST API request
- /v39.0— Version Number of the API used.
- /sobjects—Specifies that we’re accessing a resource under the sObject grouping
- /account—sObject being actioned; in this case, account
- /describe—Action; in this case, a describe request
Press execute the get the results.
Now lets try something interesting. Querying the database .
To query we need to change the URI appending query as the resource.
Eg:- to fetch the count of accounts in the org use /services/data/v39.0/query/?q=SELECT+count()+From+Account and press execute. You can frame any query but remember to replace spaces with + to properly encode the URI.
Eg:- to fetch the count of accounts in the org use /services/data/v39.0/query/?q=SELECT+count()+From+Account and press execute. You can frame any query but remember to replace spaces with + to properly encode the URI.
POST Method : As described in the HTTP methods table , post is used for creation of record. Lets try creating a record.
Select Post as the radio option in the explorer.
The Endpoint URI should point to sobjects/object name. so use /services/data/v39.0/sobjects/account/ in the URI box. Additionally you would be presented with the space to enter the body. This body takes the data in JSON. To create a account lets provide the mandatory fields in JSON format, Name in the case of account.
{
"Name": "test Account"
}
Press execute and you will be presented with the result as the ID of the account which is created.
This way you can create records for any Sobject providing the field information in the form of JSON in the body of the request.
http://www.worldofsalesforce.com/2017/04/custom-apex-webservice-using-rest.html
I have explained how to create custom Rest Resources using Apex. Comments and suggestions are more than appreciated.
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.