Please note that this SDK relates to LivePersons legacy chat product which receives limited support and will be deprecated in the future.
It is recommended to build future integrations on top of the corresponding messaging SDK instead.
Creating your instance is the first thing to do when using the SDK.
The instance expects a configuration file with an appkey and your lpNumber (LivePerson site ID).
Once you create an instance of the API, it retrieves your site's domain and initializes the ability to request data and chat.
At this stage you can also bind to the main events that you will be using throughout your chat application.
At this point, it is recommended to bind to at least the following methods: onLoad, onInit, onStart, onState, onStop, and onLine.
Instance Code Sample
var myChatObj = new lpTag.taglets.ChatOverRestAPI({
// The API key for this site
appKey: "12345678945613",
// The LivePerson site number
lpNumber: "123456",
//**************Here start samples of event binding via the config **************************************
// Binding an inline function to onLoad
onLoad: function (data) {
alert(JSON.stringify(data));
},
// Binding a single callback to on init with a specified execution context
onInit: {
// The function that will be called back
callback: myObj.handleInit,
// The execution context
context: myObj
},
// Binding a function to the onState event
onState: function (data) {
alert(JSON.stringify(data));
},
// An Array of callbacks bound to this event
onLine: [
{
// A function that will be called back
callback: myObj.handleLine,
// The execution context for this callback
context: myObj
},
// An inline callback also bound to onLine
function (lineData) {
alert(JSON.stringify(data));
}
]
});
Expected properties of a configuration object in instantiation
Name | Description | Type | Required | Notes |
---|---|---|---|---|
appKey | The app key that was provisioned for this account. | string | Required | |
lpNumber | The LivePerson account number. | string | Required | |
domain | If you know the domain for the site. | string | Optional | This is taken care of in case you do not know the domain. |
sessionUID | Allows you to control if the session is automatically resumed on refresh. | string | Optional | If set, it will need to be set to the same info for refreshes, otherwise the chat will not be automatically resumed. |
failureTolerance | Allows you to control the number of concurrent failures (when trying to fetch events from the server), after which the chat is no longer valid for the client. | number | Optional | |
moveToPrimaryRetry | The number of retries to get chat information when the server responds it has not found the visitor. | number | Optional | |
moveToPrimaryInterval | Time in milliseconds between retries to find the visitor. | number | Optional | |
transportOrder | Defines how the chat API will try to connect with the server. | array (of strings) | Optional | Currently only 'postmessage' is supported It is best not to override this property since it may cause unexpected behavior. |
Event Binding (see Events) | Here you can pass any binding you want performed on instantiation. | function, object, array of functions/objects | Binding supports functions, objects and mixed arrays of both. |
Binding Properties
Type | Value/Properties |
---|---|
Function | An inline function or function pointer. |
Object | An object containing properties: — callback — the callback function (Required) — context — the execution context for the function (Optional) |
Array | An array containing functions, or objects with the above syntax, or both. |
Examples
Function:
onLoad: myOnLoad
or
onLoad: function(data){ alert(data); }
Object:
{
"onLoad": {
"callback": myObj.handlleLoad,
"context": myObj
}
}
Array:
"onLoad": [
{
"callback": myObj.handlleLoad,
"context": myObj
},
function(data){
alert(data);
}
]