The Customer Data Platform supports direct integrations with several platform enabling your sales and marketing team to execute campaigns targeting your customers and prospects. These integrations will continue to grow over time, but there will always be a need to integration with a system that is not yet directly supported by the CDP. This document is meant to be a guide to help partners or integration teams to develop integrations from the CDP to any system.
What's covered in this article
- Accessing campaign launch data
- Including IFrame component in application to render CDP functionality seen in BIS (Buyer Insights) such as Talking Points, Spend Analytics, Company Profile etc.
Step 1: Accessing Campaign Launch Data
The platform supports launching campaigns to AWS S3. AWS S3 is a cloud file storage service from Amazon. Each customer has a dedicated & secure folder in AWS S3 that is only accessible to users who have the permissions to access it.
See this article for more details on launching a campaign to S3.
|Once a campaign is launched, the CDP generates a CSV file for each launch. The file contains account and contact attributes. If the campaign launch includes contacts, there will be one row for each contact. If the campaign launch does not contain any contacts, there will be one row per account.|
The folder is secured and requires access token to access the data. See this article for details on getting the access token.
There are multiple options to access this data programmatically
- Access data using a script. This can use S3 REST API from Amazon.
- Use ETL tools (Tray.io, Dell Bhoomi, Tibco, Informatica) to automate copying data from the CDP to your system.
Step 2: Generate OAUTH token
|Lattice provides specialized components via IFrames to help sales and marketing teams have a better understanding of the accounts being marketed to. Accessing these components require the OAUTH token for using the CDP API|
Generating OAUTH token is a two step process
- Generate a one time password (OTP)
- Use the OTP to generate an OAUTH access token
Step #2A: Generate OTP
- Login to https://app.lattice-engines.com
- Navigate to "Connections"
- Select System Type as Salesforce and click on Create
- Click on "Email Token"
- This will send out an email with "Tenant Name" and "One-time Authentication token" that is needed for oAuth api (Step #2b)
|This is a "One-time Authentication token" will expire 24 hours from the time of generation. (This step can be skipped if an active token is already available.)|
Step #2B: Use the OTP to generate an OAUTH access token
Use the API as shown below to generate and Refresh Access token. Access tokens are required for using Latice API.
NOTE: Access tokens will be valid for 6 months.
curl --request POST 'https://oauth.lattice-engines.com/oauth/token' \
-H 'Authorization: Basic bHA6' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=password' \
-d 'username=<tenantID.tenantID.Production>' \
-d 'app_id=<hosting>.<tenantID>.<application>' \
"scope": "read write"
|The latest OATH API docs are available here: https://oauth.lattice-engines.com/swagger-ui.html|
|app_ID||A String that uniquely identifies your application in Lattice||Example: sfdc.salesforceproduction.crm|
|username||This is the tenant name obtained from OTP email|
|password||This is the password obtained from OTP email|
|grant_type||OAuth keyword to issue new Access Token||password|
|access_token||access token valid for 6 months|
|token_type||Type of access token|
|refresh_token||This is the tenant name obtained from OTP email|
|expires_in||Token expiration time in milli seconds|
|scope||These are the permissions available with the access token||read-write (allows for reading and writing).|
Step #3: Using CDP Visual (IFrame) Components
Lattice provides two visual components that can be made available as iFrame components
Helps marketers provide contextual talking points (insights) about their Accounts to field sales reps
Provide a holistic view of an account and their spending on products and services. This can help sales team have a better understanding of the customer and offer the right incentives and products in their conversation.
|NOTE: Spend Analytics requires product purchase history (transactions) to be available in the CDP.|
Use this form to generate and copy properly formatted and encoded iframe urls for Talking Points or Spend Analytics.
- All parameters are case-sensitive. A change will result in the CDP not recognizing the URL and result in a page not found error.
- Custom Settings value is a JSON string and should be URL encoded. URL Encoding is a process of escaping special characters in the URL. There are several online URL encoding tools. Here is one of the tools you can use.
- The URL will not automatically render both Talking points and Spend Analytics. As a developer, you have the choice to either render one of these tabs. If you want both of these tabs in your application, you should render these as separate tabs one with "DefaultTab":"TalkingPoints" and the other one with "DefaultTab":"spendAnalytics".
Configuring default component dynamically from Java-Script
In some special cases, you may wan to control the default component based on some condition with-in the application. The following option enables changing the default component at run-time