LiveChat SDK in JS
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
* ...
All open versions of LiveChat API are available as git tags in lc-sdk-js. However, a developer-preview version (not completed yet, may introduce breaking changes in the future) is available in lc-sdk-js as a git branch.
``bash`
npm install --save @livechat/lc-sdk-js
Authorization in SDK is based on TokenGetter
required in both Web and RTM API classes. Example token getter:
`javascript`
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_dE40f9G3H297Ijkl6MN24X-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=dalBearer dal:ab-Cd_dE40f9G3H297Ijkl6MN24
* token used in login method:
For Bearer tokens, organization's region is the token prefix before the colon:dal:ab-Cd_dE40f9G3H297Ijkl6MN24
* accessToken: -> 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:
`javascript
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:
* browser - here we use the WebSocket
* Node.js - here we recommend the ws package
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.