Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/informatiqal/qlik-saas-api
Interact with Qlik Sense SaaS REST APIs
https://github.com/informatiqal/qlik-saas-api
api qlik qlik-sense qliksense rest rest-api saas saas-api
Last synced: about 2 months ago
JSON representation
Interact with Qlik Sense SaaS REST APIs
- Host: GitHub
- URL: https://github.com/informatiqal/qlik-saas-api
- Owner: Informatiqal
- License: mit
- Created: 2021-08-21T09:02:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T06:09:24.000Z (8 months ago)
- Last Synced: 2024-04-30T00:13:57.159Z (8 months ago)
- Topics: api, qlik, qlik-sense, qliksense, rest, rest-api, saas, saas-api
- Language: TypeScript
- Homepage: https://informatiqal.com/solutions/
- Size: 5.34 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Qlik Sense SaaS REST API
Node.js module to interact with Qlik Sense SaaS API
## UNDER DEVELOPMENT
### NOT AFFILIATED WITH QLIK
## Installation
`npm install qlik-saas-api`
> **Note**
> Node version >= 16.0.0> **Note**
> Please open and issue if you are experiencing problems with the tabular reporting related methods - sharing tasks, report templates and report filters. The API itself is quite complicated and its hard to test and verify## Authentication
At this moment only JWT authentication is supported
## Usage
Initialize the client
```javascript
import { QlikSaaSApi } from "qlik-saas-api";const saasApi = new QlikSaaSApi.client({
host: "tenant-url",
authentication: {
token: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
},
});
```List of available methods:
![Methods](./images/methods.png)List of apps methods:
![Apps-Methods](./images/apps-methods.png)Details for an app:
![Apps-Methods](./images/app-details.png)## Methods
Full list of available methods can be found [here](https://informatiqal.github.io/qlik-saas-api/modules.html)
## Breaking changes
### After v0.10.0
Prior `v0.10.0` some methods were expecting named parameters and some were expecting the arguments to be an object. From `v0.10.0` onwards all public methods will expect their arguments to be an object.
Old:
```javascript
async get(id: string) { ... }
```New:
```javascript
async get(arg: { id: string }) { ... }
```The new way of calling these methods will be:
```javascript
await something.get({ id: "some-id here" })
```Instead of:
```javascript
await something.get("some-id here")
```### In the future v2.0
Breaking changes will be introduced in the future v2+ of the package
- All methods that require arguments will expect the arguments to be passed as an object
Current:
```javascript
let updateResponse = await app.addToSpace("space-id-here");
```New:
```javascript
let updateResponse = await app.addToSpace({ spaceId: "space-id-here" });
```There are two reasons for that:
- consistency - the other Qlik REST API packages (Repository, Proxy etc.) are using the same approach
- easier to use this package as part of [Automatical](https://github.com/Informatiqal/automatiqal) and [Automatical-CLI](https://github.com/Informatiqal/automatiqal-cli)- At the moment some methods are returning the details instead of the instance. Code review will be performed and for these methods the return will be changed to class instance
> **Note**
> In order to avoid usage issues the package will be released in two versions - v1+ and v2+. All new features, fixes, patches etc will be applied to both versions. v2+ will be the default version and v1+ will be installed with:
>
> `npm install qlik-saas-api@v1`## Rate limit
From 01/11/2022 Qlik is introducing rate limits when using SaaS REST API. If the response is with status 429 then the rate limit is reached and the script have to wait before continue.
(from community.qlik)
| Tier | Limit | Description |
| ------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tier 1 | 600+ per minute | Supports majority of requests for data consumption with generous bursting. |
| Tier 2 | 60+ per minute | Create, update, and delete resource endpoints with occasional bursts of more requests. |
| Special | Varies | Rate limiting conditions are unique for methods with this tier. Consult the method's documentation to better understand its rate limiting conditions. |For more information please check these links:
- [qlik.dev](https://qlik.dev/basics/rate-limiting)
- [qlik community post 1](https://community.qlik.com/t5/Official-Support-Articles/Qlik-Cloud-API-rate-limits-enforced-starting-on-November-1st/ta-p/1991382)
- [qlik community post 2](https://community.qlik.com/t5/Support-Updates/Important-Changes-to-Qlik-Cloud-REST-API-starting-November-1st/ba-p/1991505)