This Software Development Kit written in Typescript helps developers build external backend apps that extend LiveChat features. The SDK makes it easy to use Agent Chat API, Customer Chat API and Configuration API.
For protocol documentation of LiveChat APIs, please go to Livechat Platform Docs.
For technical documentation visit docs
Here is the relation between SDK versions and API versions:
- lc-sdk-js 3.x.x -> LiveChat API 3.3
- lc-sdk-js 4.x.x -> LiveChat API 3.4
- lc-sdk-js 5.x.x -> LiveChat API 3.5
- lc-sdk-js 6.x.x -> LiveChat API 3.6
- ...
All versions of LiveChat JS SDK are available on npm. Note that developer-preview version is not completed yet - it may introduce breaking changes in the future.
To install latest stable version use:
npm install @livechat/lc-sdk-js
Authorization in SDK is based on TokenGetter required in both Web and RTM API classes. Example token getter:
const tokenGetter = () => ({
accessToken: "dal:ab-Cd_dE40f9G3H297Ijkl6MN24",
organizationID: "c31de08c-799b-488a-982a-8e64dbadbf5a",
region: "dal",
tokenType: "Bearer",
});
In case of Web APIs, the example token getter corresponds to the following headers in requests:
Authorization: Bearer dal:ab-Cd_dE40f9G3H297Ijkl6MN24
X-Region: dal
In case of RTM APIs, the example token getter corresponds to:
- query string used when opening the WebSocket connection:
?organization_id=c31de08c-799b-488a-982a-8e64dbadbf5a®ion=dal
- token used in login method:
Bearer dal:ab-Cd_dE40f9G3H297Ijkl6MN24
For Bearer
tokens, organization's region is the token prefix before the colon:
- accessToken:
dal:ab-Cd_dE40f9G3H297Ijkl6MN24
-> region:dal
If you need to find region for Personal Access Token (PAT), use tokenGetterFromPAT helper.
Due to the absence of standard library WebSocket implementation in Node.js and presence of WebSocket class in browser environments, using the RTM API requires the developer to pass an appropriate WebSocket implementation to the constructor of the RTM clients:
import { Agent, Customer } from "@livechat/lc-sdk-js";
const agentTokenGetter = () => ...
const customerTokenGetter = () => ...
const agentAPI = new Agent.RTM(WebSocket, agentTokenGetter);
const customerAPI = new Customer.RTM(WebSocket, customerTokenGetter);
See the examples:
If you find any bugs or have trouble implementing the code on your own, please create an issue or contact us LiveChat for Developers.
LiveChat is an online customer service software with live support, help desk software, and web analytics capabilities. It's used by more than 30,000 companies all over the world. For more info, check out LiveChat.