Sabil JavaScript SDK
This is the official Sabil API client for JavaScript.
Installation
yarn add sabil-js
or if using npm
npm install --save sabil-js
Import
import Sabil from "sabil-js/index.js";
Note if you are using SSR, you might need to transpile the library. For example, using Nuxt, you need to add this line to your nuxt.config.js
build: {
transpile: ['sabil-js'],
}
Usage
- Cal the
attach
function to attach the device to the user. You must pass the client_id
and a user
.
try {
const { device_id } = await Sabil.attach({
client_id: `client_id`,
user: `user_id`,
appearance_config: {
font_family: `Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`,
},
});
} catch (error) {
console.error(error);
}
Ideally, you should call the attach
function on every page and as soon as you have the user id available. Alternatively, you can call it only when the user id becomes available and/or on key entry pages like the dashboard, login, ...etc.
By default, the devices are automatically detached if they are not used for 24 hours. You can change this behavior in the dashboard settings. But it might be useful to manually detach the devices sometimes. For example if the user logs out, it's good to detach the device. If you need to manually detach the device, do the following:
try {
await Sabil.detach({
client_id: `client_id`,
user: `user_id`,
device: `device_id`,
});
} catch (error) {
console.error(error);
}
The device
field takes the device ID that is returned in the attach
function response as device_id
.
That's it. To learn more, visit the documentation