Type of Application Programming Interface (API) in Salesforce

API Name
What It’s For
When to Use It
Protocol
Data Format
Communication
REST API
Accessing objects in your organization using REST.
You want to leverage the REST architecture to integrate with your organization. No WSDL requirement.Well-suited for browser-based applications, mobile apps, and highly-interactive social applications.
REST
JSON, XML
Synchronous
SOAP API
Integrating your organization’s data with other applications using SOAP.
You have pre-existing middleware services that need to work with WSDLs and XML data.
SOAP/WSDL
XML
Synchronous
Chatter REST API
Accessing Chatter feeds and social data such as users, groups, followers, and files using REST.
You want to integrateChatter into a variety of applications, such as mobile apps, intranet sites, and third-party Web applications.
REST
JSON,
  XML

Synchronous (photos are processed asynchronously)
Bulk API
Loading or deleting large numbers of records.
You have over a million records to process and speed is a requirement.
REST
csv,xml
Asynchronous
Metadata API

Managing customizations in your organization and building tools that can manage the metadata model, not the data itself.
You want to migrate changes, such as custom object definitions and page layouts, from a sandbox to your production environment.
SOAP/WSDL
XML
Asynchronous
Streaming API
Providing a stream of data reflecting data changes in your organization.
You need near real-time notifications of when records are created or updated.
Bayeux
JSON
Asynchronous (stream of data)
Apex REST API
Building your own REST API in Apex. ExposesApex classes as RESTful Web services.
You need to build custom JSON responses or you want to expose custom functionality that you implemented in Apex.
REST
JSON, XML, Custom
Synchronous
Apex SOAP API

Creating custom SOAP Web services in Apex. Exposes Apex classes as SOAP Web services.
You need to build custom XML responses or you want to expose custom functionality that you implemented in Apex .
SOAP/WSDL
XML
Synchronous
Tooling API


Building custom development tools forForce.com applications
You want to add functionality to your existing development and integration tools or you want to build specialized development tools for a specific application or service.
REST and SOAP
JSON, XML, Custom
Asynchronous

0 comments: