qlik-saas
v0.1.1
Published
NodeJS package to interact with Qlik Sense Saas edition
Downloads
4
Readme
UNDER DEVELOPMENT!
Description
NodeJS package to communicate with Qlik Sense Saas edition.
The official documentation about each endpoint parameters can be found on qlik.dev
Install
yet to be published to npm
Usage
Using the package is quite similar to qrs-interact
The package expose 5 methods:
Get
- params
path
(string, mandatory) (spaces
,spaces/space-id
etc)
- params
Delete
- params
path
(sting, mandatory)
- params
Patch
- params
- TBA
- params
Post
- params
path
(sting, mandatory) (spaces
,spaces/space-id
etc)data
(json, mandatory) (see each endpoint for the required format)contentType
(string, optional) (default isapplication/json
)
- params
Put
- params
path
(sting, mandatory) (spaces
,spaces/space-id
etc)data
(json, mandatory) (see each endpoint for the required format)contentType
(string, optional) (default isapplication/json
)
- params
Before usage the instance should be initialized:
let config = {
url: `tenant.eu.qlikcloud.com`,
token: `api-key-generated-from-the-admin-console `,
version: X, // optional. default is: 1
};
let saasInstance = new qlikSaas(config);
Get method
// Get all available spaces
let allSpaces = await saasInstance.Get("spaces");
Delete method
// Delete single space
let deletedSpace = await saasInstance.Delete("spaces/1a002233cdd44555566ee77f");
Patch method
// TBA
Post method
// Create new space
let data = {
name: "My new space",
description: "New space for more apps",
type: "shared",
};
let createSpace = await saasInstance.Post({
path: "spaces",
data: data,
contentType: "application/json",
});
Put method
// Update space
let data = {
name: "New name for old space",
};
let updateSpace = await saasInstance.Put({
path: `spaces/1a002233cdd44555566ee77f`,
data: data,
contentType: "application/json",
});
Paging
When requesting data Qlik will page it by default (max 100 items can be returned in a single call). If there are more records to be returned, the package will extract them all before returning the result
Errors
Each method returns promise
. Errors can be handled using the usual way:
// Update space
let data = {
name: "New name for old space",
};
let updateSpace = await saasInstance
.Put({
path: `spaces/1a002233cdd44555566ee77f`,
data,
contentType: "application/json",
})
.catch(function (e) {
// do something with the error here
// if Qlik is raising the error then the format of the error will be { status: XXX, statusText: XXXXY, message: XXXXXXX }
// if Qlik is NOT raising the error then the format is: { message: XXXXXXX } (no status)
});
Authentication
At the moment the package interact with Qlik only via API keys
To be added
patch
method- test cases (in progress)
- proper error handling
- published to
npm
- more methods?
- more testing with the paging functionality
- support browser based authentication headers?
- able to use the package in browsers?