@tkawen/liqaa-js
English — Official TypeScript SDK for LIQAA Cloud — drop-in video calls + messaging for any website
عربي — الحزمة الرسمية بلغة TypeScript لـ LIQAA — منصّة الاجتماعات المرئية الجزائرية.
Install · التثبيت
Section titled “Install · التثبيت”npm install @tkawen/liqaa-jsOfficial TypeScript SDK for LIQAA Cloud — drop-in video calls and messaging for any website.
Install
Section titled “Install”npm install @tkawen/liqaa-js# orpnpm add @tkawen/liqaa-js# oryarn add @tkawen/liqaa-jsQuick start
Section titled “Quick start”import { LIQAA } from '@tkawen/liqaa-js';
const liqaa = await LIQAA.init({ publicKey: 'pk_live_xxxxxxxxxxxxxxxxxxxxx', sdkToken: 'eyJhbGciOi...', // short-lived JWT from your server accent: '#1d4ed8',});
document.querySelector('#call-btn')!.addEventListener('click', () => { liqaa.startCall('support@yoursite.com', 'Support team');});A floating bubble appears in the bottom-right of the page (or bottom-left if position: 'left'). Clicking your button starts a video call inside the bubble — no redirect.
Get an SDK token
Section titled “Get an SDK token”Your server signs your user identity with your secret key (sk_live_…) and exchanges it for a short-lived (1 hour) browser-safe token:
// On your server (Node example):const r = await fetch('https://liqaa.io/api/public/v1/sdk-token', { method: 'POST', headers: { 'Authorization': 'Bearer sk_live_...', 'Content-Type': 'application/json', }, body: JSON.stringify({ public_key: 'pk_live_...', identity_base64: btoa(JSON.stringify({ email: user.email, name: user.name, ts: Math.floor(Date.now()/1000) })), signature: hmacSha256(identity, sk), }),});const { sdk_token } = await r.json();Pass sdk_token to the browser. Full server-side examples: liqaa.io/docs.
LIQAA.init(options)
Section titled “LIQAA.init(options)”type LIQAAInitOptions = { publicKey: string; // pk_live_… or pk_test_… sdkToken: string; // short-lived JWT from your server accent?: string; // brand color (default '#1d4ed8') position?: 'left' | 'right'; // default 'right' rtl?: boolean; // auto-detected from <html dir> apiBase?: string; // override (default https://liqaa.io/api/public/v1) embedBase?: string; // override (default https://liqaa.io) scriptSrc?: string; // override (default https://liqaa.io/sdk.js)};Returns a LIQAAClient:
| Method | Description |
|---|---|
show() | Open the bubble panel. |
hide() | Close the bubble panel. |
toggle() | Toggle the bubble panel. |
openConversationWith(email, name?) | Open chat thread with a user. |
startCall(email, name?) | Start an instant video call. |
on(event, handler) | Listen for SDK events. Returns an unsubscribe function. |
Events
Section titled “Events”liqaa.on('call.started', (data) => console.log('call started', data));liqaa.on('call.ended', (data) => console.log('call ended', data));liqaa.on('message.sent', (data) => analytics.track('liqaa.message.sent', data));Frameworks
Section titled “Frameworks”- React:
@tkawen/liqaa-react— hooks + components. - Vue / Svelte / Solid: Use
@tkawen/liqaa-jsdirectly. CallLIQAA.init()once on mount.
Browser support
Section titled “Browser support”Modern evergreen browsers (Chrome, Firefox, Safari, Edge — last 2 versions). For older browsers, transpile with your bundler.
License
Section titled “License”MIT © TKAWEN GROUP
🏛️ TKAWEN Ecosystem · منظومة تكوّن
Section titled “🏛️ TKAWEN Ecosystem · منظومة تكوّن”EN — Part of TKAWEN, Algeria’s software ecosystem: commerce, certification, meetings and AI infrastructure. One organisation, one trust layer.
عربي — جزء من تكوّن، المنظومة البرمجية الجزائرية: تجارة، توثيق، اجتماعات، وبنية ذكاء اصطناعي. مؤسّسة واحدة، طبقة ثقة واحدة.
Packages · الحزم: @tkawen/mystoq-sdk · @tkawen/mystoq-react · @tkawen/mystoq-mcp-server · @tkawen/mystoq-seo-toolkit · @tkawen/mystoq-maystro-bridge · @tkawen/mystoq-whatsapp-bridge · @tkawen/mystoq-yalidine-bridge · @tkawen/liqaa-js · @tkawen/liqaa-react
MCP Gateway: mcp.tkawen.com — official in the Model Context Protocol Registry (com.tkawen/intelligence-gateway)
Web: tkawen.com · Author · المؤلّف: Hartem Yaakoub · License: MIT