Developer Introduction
The Jive Platform offers a class-leading collaboration solution that a developer can harness and enhance by building integrations that can encompass numerous facets of the collaboration lifecycle. We’ve highlighted some of the common Jive integration use-cases below to help connect developers with the best resources for their specific needs.
For a curated list of common solution patterns for these use-cases, click here.
Building an API Client
Overview
The Jive Core REST API is a RESTful service which allows you to interact with your Jive community. Most user actions within Jive can be performed programmatically using the REST API; some of the key categories are:
- Content Service (/contents) for interacting with content types (documents, discussions, blog posts, polls, events, etc.)
- Place Service (/places) for interacting with places (spaces, projects, groups, blogs)
- Person Service (/people) for interacting with user information
- Activity Service (/activities) for retrieving and manipulating a user’s activity stream
Developers can interact with Jive’s Core REST API using 3 forms of authentication:
- HTTP Basic w/SSL
- OAuth 2.0 (Recommended)
- Session Cookie (limited to HTML Widgets and customized themes)
OAuth 2.0 (Recommended)
- OAuth 2.0 is the recommended authentication protocol for interacting with the Jive’s Core REST API.
- Jive supports both 2 and 3-legged OAuth flows, while explicitly supporting the authorization_code and password grant types.
- Developers must create a Jive add-on to identify their integration to participate in a Jive OAuth flow.
How To Manage OAuth Access in Jive
Follow steps outlined in How To Manage OAuth Access in Jive (above), to get YOUR_ACCESS_TOKEN
curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://sandbox.jiveon.com/api/core/v3/people/@me"
HTTP Basic w/SSL
- Developers may not need, want, or be able to use a formal OAuth 2.0 client for their development solution.
- Basic Auth provides limited access to select APIs. (APIs such as ExtProps and Webhooks require an OAuth access token).
- Great for quick API testing and/or service accounts.
Note: Will not work with user accounts managed by external SSO systems.
curl -u USERNAME "https://sandbox.jiveon.com/api/core/v3/people/@me"
Using Jive Analytics
Data Export Service API
- Monitor over 100 discrete activity events that offer insights into user interaction with people, places and content in Jive.
- Activity data available for full reporting/filtering in within 1 hour of the actual event
- JSON / CSV export options for easy import into industry standard OLAP, reporting tools or web services.
- Test and refine your Jive Analytics report queries using API Explorer.
Use the following example curl command to retrieve your authentication token and then retrieve the latest daily activity in CSV format.
Note: You will need an admin to setup your Analytics account to get CLIENT_ID and CLIENT_SECRET.
The cloud analytics server is https://api-aws.jivesoftware.com for customers in our US AWS Region.
curl -s -X POST "https://api-aws.jivesoftware.com/analytics/v1/auth/login?clientId=CLIENT_ID&clientSecret=CLIENT_SECRET" | { read authKey; curl -H "Authorization: $authKey" "https://api.jivesoftware.com/analytics/v2/export/activity/csv/lastday"; }
The cloud analytics server is https://api-eu-aws.jivesoftware.com for customers in our EU AWS Region.
curl -s -X POST "https://api-eu-aws.jivesoftware.com/analytics/v1/auth/login?clientId=CLIENT_ID&clientSecret=CLIENT_SECRET" | { read authKey; curl -H "Authorization: $authKey" "https://api.jivesoftware.com/analytics/v2/export/activity/csv/lastday"; }
Integrating Activity Streams
Overview
Streams are another type of dynamic content you can push to Jive. With streams, you can add content directly to the activity stream of a particular Jive place. The activity you push to a place is threaded alongside natively created activity. Just as with native activity, your activity title, description and comments are searchable from the Jive search field.
Simple Stream Integrations
- Add external stream integrations to Jive in minutes without middleware using just an HTTP POST.
- Simple Javascript transformer which allows external systems to communicate with Jive in their native format.
- Incremental progressions available to turn your simple stream integration into an immersive stream integration.
Simple Stream Integration Blog Series
Bi-Directional Activity Streams
- Insure that users are informed on the latest activity, whether they choose to be in Jive or the external system.
- Synchronize collaboration lifecycle events between systems, such as liking, comments and updates for any piece of content.
Note: This integration pattern requires the use of middleware.
Try the Jive iPaaS :: Stream Integration
Webhook Events
Jive Webhooks are user-defined HTTP callbacks that allow you to be notified when events occur in your Jive community. You can use webhooks to synchronize your external content to the Jive community without performing resource intensive polling. This is also valuable, for example, if you are trying to do bidirectional commenting with another system. Jive supports two types of webhooks:
- Content webhooks. These cover events related to content changes. For example, notification when someone comments on a document.
- System webhooks. These cover system events unrelated to specific content. For example, notification when a user profile changes.
Note: This integration pattern requires the use of middleware and OAuth.
Try the Jive iPaaS :: Stream Integration
Embedding Custom Experiences
Jive Apps
- Jive Apps allow you to extend the Jive UI with your own business-specific application.
- An app UI also has contextual access to the content, people, and places within your Jive community using Jive’s Open Social API.
- Apps are written primarily in HTML and JavaScript.
Jive App Contribution Reference
Custom View Tiles
- Create fully customizable user-experiences that are portable and can be placed on tile pages with tiles from other systems.
- Included in mobile dashboard views when responsive feature enabled for tile.
- Can easily be deployed with or without middleware using the Jive Apps Framework.
Note: While this feature leverages Jive Apps, Custom View Tiles cannot use Jive Connects.
Data Tiles
- Create comprehensive collaboration experiences comprised of data from multiple systems organized into definitive dashboards.
- Push JSON data to API end-points and Jive will persist and display the content.
- Customizable tile actions let you create clickable interactions based on the data in the Tile.
Note: This integration pattern requires the use of middleware.
Enriching Third-Party Experiences
Jive Anywhere Cartridges
- Cartridges are a component of Jive Anywhere, a FREE browser extension for Chrome, Firefox, Internet Explorer and Safari.
- Simplify collecting web page details for specific domains to the click of a button, including rich snapshots and site meta-data.
- Use Javascript to manipulate the external site DOM to inject custom behavior and data enriched by Jive.
Note: Check out the Cartridge Wizard built-in to Jive Anywhere
Working with External Storage
Overview
External Storage Framework (ESF) is a powerful solution for connecting a Jive place to an external storage system. To the user, there is seamless integration between systems—if a file is uploaded via Jive, it will appear on the external system; if a file is uploaded via the external system, it will appear within Jive. Under the hood, all binary data is stored within this external system. However, this content is treated like a first-class content type within Jive—you can edit it, search for it, and comment on it. Commenting on either system can work bidirectionally, if desired. Existing ESF solutions include Box, Google Drive, Dropbox, and others.
Note: This integration pattern requires the use of middleware.
Jive iPaaS (Recommended)
- Allows developers to quickly create beautiful integrations to your Jive instance without setting up your own middleware.
- Code is hosted and run in isolation in either US and EU data-centers.
- All communication with Jive is abstracted to help you focus on the business rules for your solution.
More External Storage Resources