Any application can call SmartCloud for Social Business APIs to use its services. The service APIs allows an application to do something useful and integrate itself with IBM SmartCloud. Although aspects such as authorization are fairly fixed and standard, the service API is where an applications value comes from because innovation, creativity, utility, and how well the application integrates can differentiate it against other applications. The following sections go into these details.
The following are some key aspects of IBM SmartCloud for Social Business APIs:
- APIs are available for developers who are creating applications that integrate social capabilities, features, and functionality
- OAuth is a protocol that provides a way for a third-party applications to interact with an API on a user's behalf without knowing the user's authentication credentials.
- The SC4SB APIs use the Open Authorization (OAuth) protocol for authentication and authorization.
- REST APIs are available for most SmartCloud for Social Business Services.
- Atom publishing protocol is used for most of the APIs
- SmartCloud for Social Business widely uses Atom in APIs
- Objects are described as Atom Entries
- Lists are described as Atom Feeds
- API's typically return response in standard formats - XML, JSON
- API's response codes are set depending on whether API call was successful
Categories of APIs
The APIs cab be broadly classified and grouped amongst the following categories:
- Communities API
- Files CMIS API
- Meetings API
- OpenSocial REST APIs
- Contacts API
- Profiles API
API standards supported
The following API standards are supported by the SCSB Service APIs:
- Content Management Interoperability Services (CMIS) APIs : This Standard defines a domain model, Web Services and Restful AtomPub bindings. Mostly Focus is on portability across different content management repositories. Multiple commercial vendors support CMIS standard.
- SmartCloud for Social Business files APIs conform to CMIS standard (version 1.0)
- OpenSocial REST API :This is the Common API for social applications across multiple websites. SDK releases helps manage differences between Open Social and XML API's. SmartCloud for Social Business follows this standard for describing user specific data like the Profile APIs and Contact APIs
Examples of various APIs by category
Here is a list of some of the API grouped under their categories:
Java script API services
- IBM Connections
- Activity Streams
- IBM SmartCloud
- UI Grids – These are helpers for constructing reusable UI controls for Connections data.
- Low level APIs: These are APIs which can be used as utilities (directly or by high level APIs) or to extend SDK.
- XML parser, Xpath Engine, JSON and String helper utilities for parsing various data formats
- BaseService, BaseEntity, Endpoint
- Authenticators (helpers for authentication related tasks) and more.
- Basic Authentication
- Oauth 1.0a
- Oauth 2.0
Key concepts of Java API
Java API has two key concepts:
- Endpoints, Service, Entity
The Endpoints help provide an abstraction around the connection to a service provider and Isolate application code from details of the deployment.
- Services + Entities