UNPKG

workano-js-sdk

Version:

Workano Communications SDK - A modern JavaScript SDK for WebRTC and VoIP integration.

155 lines (116 loc) 2.74 kB
# Workano JS SDK ![Workano](https://workano.com/wp-content/uploads/2025/06/workano-dark-logotype-en.svg) Workano JavaScript SDK is a simplified solution for communications. ## Website [https://workano.com](https://workano.com) ## Installation ```bash npm i workano-js-sdk ``` ## Auth module ### Login ```javascript import workano from "workano-js-sdk"; const session = await workano.Auth.login({ server: "", username: "", password: "", appId: "", tokenExpiration: 1000, isMobile: false, onTokenRefreshed: () => {} }); ``` ### Validate Token ```javascript import workano from "workano-js-sdk"; const session = await workano.Auth.validateToken({ server, token, refreshToken, appId, onTokenRefreshed(newSession) { setSession(newSession); }, tokenExpiration, isMobile: false, }); ``` ### Logout ```javascript import workano from "workano-js-sdk"; const session = await workano.Auth.logout(); ``` ## Phone ```javascript import workano from "workano-js-sdk"; // On page load: await workano.Phone.connect({ onIncomingCall, onCallAccepted, onCallAnswered, onCallCanceled, onCallCreated, onCallEnded, onCallFailed, onCallUpdated, // ... }); workano.Phone.call("your number", withVideo); ``` ## User ### Get Extensions ```javascript import workano from "workano-js-sdk"; const availableNumbers = await workano.User.getExtensions(); // [ // { // "context": "default", // "contextLabel": "Default Context", // "numbers": ["1001", "1002", "1003"] // }, // { // "context": "webrtc", // "contextLabel": "WebRTC Context", // "numbers": ["2001", "2002"] // } // ] ``` ### Add User ```javascript import workano from "workano-js-sdk"; const user = { subscription_type: 1, // 0: Normal, 1: Integrated Phone System, 2: Meeting, 3: Call Center firstname: "Jane", lastname: "Smith", firstname_english: "Jane", lastname_english: "Smith", language: "en_US", mobile_phone_number: "0987654321", email: "jane.smith@example.com", password: "securepassword", lines: [ { extensions: [ { context: "default", exten: "1004", }, ], }, ], }; const newUser = await workano.User.addUser(user); ``` ## List Call Logs ```javascript import workano from "workano-js-sdk"; const offset = 0; const limit = 20; // Number of call logs to retrieve const callLogs = await workano.Logs.listCallLogs(offset, limit); ``` --- ## Support For questions or support, contact: [support@workano.com](mailto:support@workano.com) ## License [MIT License](./LICENSE)