Streaming API
Streaming API
Overview
NOTE: This article has been updated for the Winter '12 release (API version 23.0). The Streaming API documentation contains a code sample that can be configured to work with both API version 23.0 and the previous release, 22.0.
The Force.com Streaming API lets you expose a near real-time stream of data from the Force.com platform in a secure and scalable way. Administrators can create topics, to which applications can subscribe, receiving asynchronous notifications of changes to data in Force.com, via the Bayeux protocol. If your application is currently polling the SOAP or REST API to detect changes, you should consider refactoring it to use the Streaming API; you will see better performance with lower resource consumption.
This resource page points to all the major resources about the Streaming API.
Getting Started
The following material provides a gentle introduction to getting started using the API:
- Getting Started with the Force.com Streaming API - an article, with plenty of code samples, that describes the Streaming API.
- The Streaming API Developer Webinar Presentation (PDF) - presentation deck from the Streaming API Webinar on July 7, providing an overview of the API.
Discussion Board
Post any questions you have to the Discussion Board.
Sample Applications
- StreamingAPIDemo - A demo OS X client
API Documentation
- Streaming API Developer's Guide (PDF)
Useful Tools
- Workbench version 22.0.0 and later supports the Streaming API, allowing you to create PushTopic standard objects and subscribe for notifications.
Other Documentation
OAuth is a prerequisite to using the API. The OAuth documentation is part of the help section inside your developer or production organization. Log in to your org, then click "help" in the upper right, and search for the following topics:
- "Remote access" - This describes how you register an external application with Force.com. Once you've created a remote access application in your developer or production organization, users in any org may grant access to your application using OAuth.
- "OAuth2" - This describes the various authentication flows that your application may use.
- "Identity URLs" - After a user has authorized your application, your application can use the identity URL to get information about the authenticated user, including information like their name, their organization id, and their email.
Also see the Related Articles section on this page and the sample applications for more about OAuth and Authentication.
Related Articles
- Digging Deeper into OAuth 2.0 on Force.com - provides more details on the OAuth authentication.
- Building Android Applications with the Force.com REST API - shows how to set up OAuth for mobile applications and access the Force.com Web Services REST API. While not about the Streaming API - the basic setup is very similar.
- The Bayeux Protocol