nativescript-dec-sdk
by dec-team | v1.0.2
Progress Sitefinity Digital Experience Cloud SDK for NativeScript.
npm i --save nativescript-dec-sdk

Progress Sitefinity Digital Experience Cloud SDK plugin for NativeScript apple android

NPM version

The purpose of this plugin is to help and ease the developers working with Progress Sitefinity Digital Experience Cloud API. It simplifies the sending of user Interactions to the DEC servers and the getting of Personalization information from there.

Prerequisites

A valid Digital Experience Cloud account is needed for the use of this plugin.

Installation

tns plugin add nativescript-dec-sdk

Usage

Require/Import the DecClient and then to initialize it with proper Options object.

Javascript

var DecClient = require("nativescript-dec-sdk").DecClient;
var client = new DecClient({
apiKey: 'your DEC Data center Api key',
source: 'the data source name used by the client',
authToken: 'your DEC Data center Authentication token', // Not required - needed only if Personalization calls to DEC Data center are used.
apiServerUrl: 'Api server url' // Not required - only use if the url is a custom one.
});

Typescript

import { DecClient } from "nativescript-dec-sdk";
let client = new DecClient({
apiKey: 'your DEC Data center Api key',
source: 'the data source name used by the client',
authToken: 'your DEC Data center Authentication token', // Not required - needed only if Personalization calls to DEC Data center are used.
apiServerUrl: 'Api server url' // Not required - only use if the url is a custom one.
});

API

Personalization calls

Function

client.IsInPersonas(scoringIds, subjectKey)
  • scoringIds - an array of Persona Ids.
  • subjectKey - the User's Id

Function

client.IsInLeads(scoringIds, subjectKey);
  • scoringIds - an array of Lead Scoring Ids.
  • subjectKey - the User's Id

Function

client.IsInCampaigns(campaignIds, subjectKey);
  • campaignIds - an array of Lead Scoring Ids.
  • subjectKey - the User's Id


Interactions

Function

client.writeInteraction(interaction);

The interaction should follow this structure:

{
S: '', // The Interaction's Subject.
P: '', // The Interaction's Predicate.
O: '', // The Interaction's Object.
SM: {}, // The Interaction's Subject Metadata.
OM: {}, // The Interaction's Object Metadata.
MappedTo: {} // The Interaction's Mapping.
}

Important: A valid Interaction should always contain a Subject in combination with any number of the other properties.


Function

client.writeSubjectMetadata(subjectKey, metadata);
  • subjectKey - the User's Id
  • metadata - a metadata object.

Function

client.writeObjectMetadata(subjectKey, metadata);
  • subjectKey - the User's Id
  • metadata - a metadata object.

Function

client.addMapping(subjectKey, secondSubjectKey, secondDataSource);
  • subjectKey - the User's Id
  • secondSubjectKey - the User's Id from the other source.
  • secondDataSource - The other data source.

Function

client.buildPersonalizationReportInteraction(personalizationReportParams);

The personalizationReportParams should follow this structure (all properties are required!):

{
subjectKey: '', // The Subject key of the Application's user.
pageGuid: '', // The guid of the page currently personalized.
canonicalTitle: '', // The title of the page currently personalized.
canonicalUrl: '', // The url of the page currently personalized.
segment: '', // The segment by which the page is personalized - the Persona, the Lead Scoring or the Campaign.
language: '' // The language of the page currently personalized.
}