dec-client
v1.0.12
Published
Digital Experience Cloud client for Node.js
Downloads
20
Readme
Digital Experience Cloud Client
Unofficial client for the Sitefinity Digital Experience Cloud.
For additional information, please see the Digital Experience Cloud documentation.
Installing
npm install dec-client
Then within your application, you can reference the client with the following:
var DECClient = require('dec-client');
Usage
Create a new DECClient()
. Make sure to provide your data center API key, and a source label.
var client = new DECClient({
apiKey: 'your-api-key',
source: 'your-datasource-label'
});
Writing Sentences
client.writeSentence({
subjectKey: 'the-subject-key',
predicate: 'the-predicate',
object: 'the-object'
});
Tracking Subject Metadata
Subject Metadata documentation
client.writeSubjectMetadata('the-subject-key', {
FirstName: 'first-name',
LastName: 'last-name',
Email: 'contact-email'
// additional meta fields...
});
Adding Subject Mapping
client.addMapping('the-subject-key', 'second-subject-key', 'second-datasource-label');
Sending Sentences to the Digital Experience Cloud
The client allows you to write multiple interactions [sentences] at a time. Once all interactions have been written, you must flushData()
to actually send them to the DEC.
// returns a promise
client.flushData();
Personalization
You can make a call to the DEC to retrieve information about the subject's Personas, Campaigns, and Lead Scores.
Create a new DECClient()
. Make sure to provide your data center API key, a source label, and an authToken.
var client = new DECClient({
apiKey: 'your-api-key',
source: 'your-datasource-label',
authToken: 'appauth your-app-auth-key'
});
The authToken
is used by an authorized application to request data from the personalization end-points. You can construct the token by concatenating the "appauth " string with the Access Key of the authorized application, for example: "appauth 94e8b2d2-931e-cd01-b57b-07fa2013cb24".
An Authorized Application can be configured by navigating to the "Authorized applications" in the Administration section of your Data Center.
client.isInPersonas('1', 'the-subject-key')
.then(function (response) {
var personas = JSON.parse(response).items;
if (personas.length) {
// do something
}
})
Example Response
{"items":[{"Id":1,"Score":100,"ThresholdPassedOn":"2017-08-11T01:45:21.120Z","Threshold":100}]}