Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 1
THE JANRAIN IDENTITY CLOUD POWERS CUSTOMER EXPERIENCE AT SCALE.
Need a platform that scales with your business no matter where in the world you operate
and who you choose to partner with? Janrain offers the most thorough application
programming interface (API) platform in the industry. Our clients can swiftly activate the
value of their technology investments by integrating with the Janrain Identity Cloud.
The Janrain CIAM APIs are RESTful and JSON with additional options for on premise or
traditional back office applications. We will never be all things to all people so if you need
an integration to a coconut tree that probably isn’t us. If you need your technologies to
symbiotically power an authentic customer experience, that’s Janrain.
INTEGRATE WITH EVERYTHING, EVERYWHERE
Janrain has the fastest growing ecosystem of Technology Partners, Integrations, Solution
Providers and Enterprise Clients who rely on Janrain to provide a scalable platform as
business needs and technologies rapidly evolve.
As technology products go in and out of fashion and the number of applications, services,
devices and connected things continues to grow exponentially, no one is more invested in
the safe and secure access, management and activation of your customer’s most valuable
asset: Their Identity.
INTEGRATION GUIDE:
Making Integrations Easy
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 2
Table of Contents
TABLE OF CONTENTSClient-side Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
JavaScript Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Janrain OAuth Access Token. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Server-side Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Managed Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Data Export Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Event-driven Integrations (Webhooks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Batch API Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Appendix A - Janrain Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 3
Client-side Integrations
CLIENT-SIDE INTEGRATIONS
JavaScript Events
OVERVIEWJanrain’s JavaScript library can provide detailed information on user and application state using events.
These are useful for making personalizations based on information gathered at run time, and for using
third-party analytics to track specific events.
REGISTERING EVENT HANDLERSTo add a handler for an event, use the addHandler method. All events are located
within the janrain.events namespace, and handlers should be added within the
janrainCaptureWidgetOnLoadfunction before the janrain.capture.ui.start argument,
which loads the Registration UI. For example:
function janrainCaptureWidgetOnLoad() { janrain.events.onCaptureLoginSuccess.addHandler(function(event){ // Personalize experience // Login user to commenting solution // Send user data to analytics and/or ad targeting } janrain.capture.ui.start();}
REFERENCE
• Event Types
• Adobe Analytics Documentation
• Adobe Analytics Integration Demo
• Google Analytics Integration Demo
• AdSense & DFP Integration Demo
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 4
Client-side Integrations
Janrain OAuth Access Token
OVERVIEWAccess tokens are provisioned after a successful authentication through Janrain when the response type
is set to token in the JavaScript settings or as an API parameter.
They allow for scoped, time-limited access to the Janrain user profile database. Access tokens are bearer
tokens and are only valid for one hour by default, which provides a secure means to provide authorized
access to a user’s profile to another application or service using the /entity API endpoint.
RETRIEVING AN ACCESS TOKENBy default, an OAuth access token will be generated upon successful user authentication and stored
client-side in the localStorage key janrainCaptureToken. This key indicates to the Registration UI that
a user is authenticated and can access profile management screens.
The access token will also be returned in the JavaScript event handlers that Janrain fires upon successful
login and registration.
REFERENCE
• Login Success Event
• Registration Success Event
• Entity endpoint
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 5
Server-side Integrations
SERVER-SIDE INTEGRATIONS
Managed Integrations
OVERVIEWJanrain’s Data Integration Platform contains an extensive library of connectors which allow for
easy connectivity between Janrain and third party systems such as Email Service Providers, Data
Management Platforms, and CRMs. Janrain delivers integrations as a managed service offering where
Janrain configures, hosts and maintains the integration on behalf of our client.
Data mappings between Janrain and the target system are configured to the client’s specifications as
part of each deployment to ensure that only relevant and authorized data is being transferred to the
target system in accordance with security best practices.
SOLUTION DESIGN
Janrain will configure and deploy an integration with the target system after the following information has
been provided:
• Credentials for the target system
• Data mapping between target system fields and Janrain profile attributes
Data mapping is implemented per client specifications to ensure that the target system only
receives data it is authorized to access and store
REFERENCE
• Appendix A - Janrain Data Integrations
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 6
Server-side Integrations
Data Export Service
OVERVIEWJanrain’s Data Export Service is a scheduled process which runs daily to deliver updated profile data to a
client’s sFTP server. Once configured, Janrain delivers profile data from new and updated records to a in
a flat file so that the data can be ingested by other systems.
SOLUTION DESIGN
Janrain will set up and configure the Data Export Service based on the following configuration:
• Time of day for the export
• Capture Application ID and entity types to be exported
• Delimiter: comma, tab, vertical bar (pipe)
• Attributes to be exported for each entity type
• sFTP Access information:
sFTP Server URL
sFTP User name
sFTP Password
♦ If using RSA Key Authentication, provide RSA Private Key & Password
File prefix (can specify a folder)
At the specified time each day, Janrain will provide a flat file for each entity type named entityType_
datetime.csv containing the requested attributes for new and updated records.
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 7
Server-side Integrations
Event-driven Integrations (Webhooks)
OVERVIEWWebhooks may be created to send notifications whenever a profile is created, changed, or deleted. Once
configured, Janrain delivers messages to a pre-registered URL as a JSON object.
SOLUTION DESIGN
The following information is needed to configure a webhook:
• Capture Application ID
• Entity Type – What capture entity type should each webhook respond to (typically user)
• Callback URL (or URLs) – What URL to POST to for each webhook
Supported protocols:
♦ HTTP
♦ HTTPS (TLS 1.0 and above)
• Event Types – What sort of events should each webhook respond to:
ADD – When a user record is created
UPDATE – When profile information from a user record is updated
♦ If UPDATE, provide a list of user record profile attribute changes each webhook should
respond to. Note: A list of attributes to choose from can be found on your Capture
application Dashboard under the Schema section.
DELETE – When a user record is deleted
• Callback Hash (optional) – A unique identifier for each webhook. If a callback hash is not provided,
Janrain will generate one for you.
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 8
Server-side Integrations
Messages are returned in the body of POST requests as JSON objects inside an array. Each response
consists of:
• uuid of the user record
• entity_type containing the record
• datetime stamp recording when the event took place
• Callback hash
• client_id that triggered the event
To verify that a webhook response originated with Janrain, compare the callback hash value in the
response with the callback hash established when the webhook was configured.
The following is an example POST response from a webhook:
[ { “uuid”:”12345678-4321-1234-4321-123456789123”, “entity_type”:”user”, “datetime”:”2012-04-07T22:26:10.947Z”, “hash”: “1234567891234567891234567891234567891234”, “client_id”:”98765432198765432198765432198765” }]
Our clients will need to implement code to receive and process the messages sent by Janrain’s
webhooks service and update any downstream subscribing systems. Janrain’s Professional Services or
Certified Partners can also be contracted for development and management of webhook receivers.
REFERENCE
• Webhooks Implementation Details
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 9
Server-side Integrations
Batch API Integrations
OVERVIEWJanrain’s RESTful API provides a method to efficiently and reliably get updates from Janrain for the
purpose of publishing data to downstream subscribers.
SOLUTION DESIGN
Polling of Janrain’s database can be performed at a frequency that meets the requirements of the client’s
integration. We typically recommend polling every 15 minutes which allows for updates to be processed
in batch while keeping downstream systems sufficiently fresh for a majority of use cases.
Polling is implemented by querying for all records updated since the datetime of the last batch of records
that were successfully processed. After successfully processing a batch, store the datetime of the last
record in the batch, which will then be passed in the query during the poll.
This implementation is highly reliable because if a batch fails to process for any reason, the records will
be retrieved as part of the next batch ensuring that no records are missed.
Janrain has open-sourced a python library that implements the polling pattern against the Janrain
database to accelerate the development of any batch API integrations.
REFERENCE
• Janrain Python Data Library
• Entity.find API
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 10
Appendix
APPENDIX A - JANRAIN CONNECTORS
ANALYTICS
• Analytics
• Adobe Analytics
• Google Analytics
• IBM Digital Analytics
• Localytics
• Salesforce Analytics
• Umbel
CONTENT MANAGEMENT SYSTEM / ECOMMERCE (CMS)
• Adobe Experience Manager
• CMIS
• Drupal
• Magento
• Microsoft Sharepoint
• NetSuite
• Salesforce Commerce Cloud (Demandware)
• Oracle Commerce (ATG)
• Oracle Micros
• Oracle Web Center
• SAP Hybris
• Sitefinity
• WordPress
• WordPress VIP
CUSTOMER RELATIONSHIP MANAGEMENT (CRM)
• HubSpot
• Microsoft Dynamics
• NetSuite
• Oracle Sales Cloud
• Oracle Siebel
• Salesforce
• SugarCRM
• Zoho
EMAIL SERVICE PROVIDERS (ESP)
• Bluehornet
• Bronto
• Constant Contact
• Dotmailer
• Eloqua
• HubSpot
• IBM Campaign
• IBM Marketing Cloud
• MailChimp
• Marketo
• Oracle Marketing Cloud
• SailThru
• Salesforce Marketing Cloud
• Salesforce Pardot
• Selligent
• Sendinblue
• SmartFocus
• StrongView
• Vertical Response
• WhatCounts
LOYALTY• Appreciation Engine
• BadgeVille
• Bunchball
• Coupons.com
• Kobie
• Qualifio
DATA
• Acxiom
• Addictive Mobility
• Adobe Audience Manager
• AgilOne
• Amazon IoT
• Amazon SNS
• Amazon SQS
• Amazon S3
• Anaplan
• Apple Push Notifications
• Appreciation Engine
• AppsFlyer
• Bluecore
• BMC Remedy AR Systems
• Box
• Brand Networks
• BriteVerify
• Cake
• Cassandra DB
• Certona
• Clarizen
• CoffeeBean Technology
• CometD AJAX Connector
• CoupSmart
• Documentum
• DonorDirect
• DoubleClick
• Dropbox
• Edifact EDI
• Emogi
• Ensighten
• Esper
• Exchange Solutions
• Fresh Relevance
• Google Tag Manager
Copyright © 2017 Janrain, Inc. All rights reserved. | (rev03/2017) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 11
Appendix
Copyright © 2016 Janrain, Inc. All rights reserved. | (rev11/2016) | www.janrain.com | US 888 563 3082 | Europe +44 208 973 2561 | 11
ABOUT JANRAIN
Founded in 2002, Janrain pioneered Customer Identity and Access Management (CIAM). Janrain’s CIAM solution provides
management, security and activation solutions that enable seamless and safe customer experiences across their digitally
connected world, while providing enterprise organizations with deep customer insights. Janrain’s identity capabilities include
social and traditional login and registration, single sign-on, customer profile data storage and management, customer segments,
customer insights and engagement solutions. The company powers brands like Pfizer, Samsung, Whole Foods, Fox News, Philips,
Marvel and Dr Pepper. Janrain is based in Portland, Oregon, with off ices in London, Paris and the Silicon Valley in California. For
more information, please visit www.janrain.com and follow @janrain.
• Hadoop HDFS
• Handshake
• IBM AS/400
• IBM Cognos
• IBM DB2 Databases
• IBM Interact
• IBM Maximo
• Infor SunSystems
• Informatica
• Innovid
• JDBC
• Jira
• Kafka
• Kindling
• LiveRamp
• Lytics
• MediaMath
• Metail
• Microsoft Dynamics AX
• Microsoft Dynamics GP
• Microsoft Dynamics NAV
• MongoDB
• MutualMind
• Odata
• Oracle BlueKai
• Oracle JD Edwards
• Oracle RightNow Service Cloud
• Oracle Taleo
• Quickbooks
• Redis
• ResponseTek
• Rocket Fuel
• Salesforce Composite
• SAP R/3 Business Suite
• ServiceNow
• ServiceSource
• Slack
• Socure
• SoHalo
• Splunk
• Spredfast
• Sprinklr
• Swarming Technology
• The Trade Desk
• Turn
• Twilio
• Valomnia
• Vibes
• WhatCounts
• Wrap
• XBRL
• ZenDesk
• Zuora
IdP INTEGRATIONS
• Amazon
• AOL
• Blogger
• Disqus
• DocCheck
• Doximity
• FiMNet
• Flickr
• Foursquare
• LiveJournal
• MediKey
• Medy
• Microsoft
• Mixi
• Mydigipass.com
• Netlog
• Odnoklassnikis
• OneKey
• OpenID
• PayPal
• Renren
• Salesforce
• Sina Weibo
• Sound Cloud
• Tencent Weibo
• Tumblr
• Verizon
• VK
• WordPress
• Yahoo!