qlik-oss / qlik-api-ts

Typescript types and Javascript library for consuming Qlik API's
https://qlik.dev
ISC License
9 stars 3 forks source link
cloud-analytics-engine cloud-rest-apis cm-analytics-engine

@qlik/api

npm version License

This package provides a JavaScript API for interacting with Qlik Sense REST APIs including the QIX Engine from a single package that can be used in both Node.js and browser contexts.

Table of Contents

Getting Started

For NodeJS applications or in the case of building a web app with a bundler use:

npm install --save @qlik/api

If code will run in a browser it is recommended to load the code from a CDN.

<script type="module">
  import qlikApi from "https://cdn.jsdelivr.net/npm/@qlik/api/index.js";
  ...
</script>

Module structure

@qlik/api is a collection of javascript modules which each exposes an api built to make the integration process for javascript solutions as easy as possible. The library is built for both browser and NodeJS usage and will seamlessly integrate with @qlik/embed libraries.

The modules can be imported in a few different ways. Either directly through a sub module

import subModule, { namedExport, type NamedType } from "@qlik/api/sub-module";

Or through the main module. If types from a sub module is needed they can only be imported directly from the sub module itself. They can't be imported from the main module.

import { subModuleA, subModuleB } from "@qlik/api";
import type { SubModuleAType } from "@qlik/api/sub-module-a";
import type { SubModuleBType } from "@qlik/api/sub-module-b";

@qlik/api also has a default export with each sub module as properties.

import qlikApi from "@qlik/api";

qlikApi.subModuleA;
qlikApi.subModuleB;

The modules that can be imported from @qlik/api are the rest entities, the qix sub module and an auth module. All described below.

REST API

@qlik/api library is generated from open-api specifications released from those Qlik Cloud services that exposes a restful API. The code generation tool runs using the specs building typescript for all api calls specified in the specs. One module per api is generated.

More info can be found in the rest section.

QIX API

One of the most important services available is Qlik's Analytics Engine Service which is also known as the QIX engine. @qlik/api offers a fully typed api for connecting to and consuming Qlik Sense Applications including "Qlik Sense mixins" which previously only was used internally by in-house Qlik developers. More info about QIX can be found in the qix section.

Authentication

@qlik/api comes with several authentication options to make the integration experience as easy as possible for external users. Go to the authentication section for more.

Features

@qlik/api comes with some handy features to make the development experience as good as possible. Some of them are described in the features section.

Examples

Check out the examples section.