Prise en main
L'API Qlik NPrinting est une API REST qui vous permet de gérer les objets Qlik NPrinting par programmation. Vous pouvez accéder à un sous-ensemble des fonctionnalités disponibles dans Qlik NPrinting Web Console par l'intermédiaire de cette API.
Les objets que vous manipulez dans Qlik NPrinting Web Console sont représentés dans l'API en tant qu'entités JSON. Ces entités possèdent des propriétés correspondant aux paramètres disponibles dans Qlik NPrinting Web Console. L'API comprend un ensemble de points de terminaison grâce auxquels vous pouvez créer, récupérer, mettre à jour et supprimer des entités associées à des applications, des utilisateurs, des groupes, des rapports, etc. Quelle que soit la requête, les données renvoyées sont filtrées en fonction des autorisations de l'utilisateur. Autrement dit, si un utilisateur n'est pas autorisé à accéder à une entité donnée, celle-ci ne figure pas dans la réponse renvoyée.
Pour pouvoir se connecter à l'API en tant qu'utilisateur Windows authentifié, un utilisateur doit posséder un compte de domaine associé. Pour plus d'informations sur la configuration d'un compte de domaine, voir Création d'utilisateurs.
Afin de vous familiariser avec l'API, nous allons passer en revue quelques exemples simples utilisant un client REST intitulé Postman. Vous allez apprendre à :
- vous connecter et authentifier vos informations d'identification d'utilisateur ;
- récupérer une liste d'applications ;
- mettre à jour une entité ;
- créer un filtre.
Avant de commencer, procédez aux tâches suivantes :
-
Installez Postman à partir du site Web :
- Procurez-vous l'URL de l'ordinateur sur lequel Qlik NPrinting Server est installé.
Authentification Windows
Pour que les connexions externes telles que les connexions GET et POST REST puissent fonctionner normalement, l'authentification Windows doit être activée. Ce paramètre peut être activé dans Console Web Qlik NPrinting sous Admin > Paramètres > Authentification.
Connexion aux API Qlik NPrinting
Par défaut, Qlik NPrinting Server réceptionne les requêtes REST sur le port d'écoute 4993. Par conséquent, l'URL se définit comme suit :
https://NPrinting.server.name:4993/api/v1/<path>
Authentification de vos informations d'identification d'utilisateur
Avant d'utiliser l'API NPrinting, vous devez authentifier vos informations d'identification d'utilisateur.
Dans l'exemple qui suit, nous nous servirons du nom d'utilisateur Windows aux fins d'authentification.
Ouvrez Postman et renseignez les champs tel qu'indiqué ci-dessous. Remplacez NPrinting.server.name par l'URL de l'ordinateur sur lequel Qlik NPrinting Server est installé.
Récupération d'une liste d'applications
Le point de terminaison suivant renvoie une liste complète des applications Qlik NPrinting que l'utilisateur actif est autorisé à consulter.
Ouvrez Postman et renseignez les champs comme indiqué ci-dessous, en remplaçant nom.serveur.NPrinting par l'URL de l'ordinateur sur lequel Qlik NPrinting Server est installé :
La réponse comprend l'ID, le titre et d'autres informations ayant trait à chaque application.
Mise à jour d'une entité
Vous pouvez mettre à jour certaines entités par le biais de l'API grâce à la méthode PUT. Lorsque vous mettez à jour une entité, il se peut que Qlik NPrinting Server remplace des propriétés omises par des valeurs par défaut. C'est pourquoi nous vous recommandons de toujours inclure l'entité complète dans ce type d'opération.
Dans cet exemple, nous allons mettre à jour la propriété email de l'entité users.
Pour mettre à jour l'entité :
- Si vous ignorez l'ID de l'utilisateur à mettre à jour, saisissez le chemin d'accès suivant dans Postman, puis envoyez une requête GET :
/users
Recherchez l'ID utilisateur dans la réponse.
- Ajoutez l'ID utilisateur au chemin d'accès users dans Postman, puis envoyez une requête GET :
/users/{id}
La réponse devrait ressembler à ce qui suit :
}{ "data": { "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "abc@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
- Copiez le contenu placé entre les parenthèses intérieures de l'entité renvoyée et collez-le dans le corps d'une nouvelle requête PUT.
- Modifiez la valeur de la propriété email.
- Ajoutez à l'entité la propriété password et la valeur correspondante. Le corps de la requête devrait ressembler à ce qui suit :
{ "password": "test", "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "xyz@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
-
À présent que l'entité mise à jour figure dans le corps, envoyez une requête PUT en utilisant le chemin d'accès suivant :
users/{id}
Dans cet exemple, {id} correspondrait à 113ac265-163e-4feb-854e-ade3cdafc837.
- Afin de vérifier la modification, envoyez une requête GET en utilisant le même chemin d'accès.
Création d'un filtre
L'API vous permet, grâce à la méthode POST, de créer des filtres relatifs à des tâches, à des rapports, à des utilisateurs et à des objets. Dans cet exemple, nous allons créer un filtre simple pour CategoryName, à savoir, un champ figurant dans la source de données d'une application de ventes.
- Pour créer un filtre, vous devez connaître les ID de l'application et de la connexion auxquelles vous souhaitez appliquer le filtre.
Pour récupérer ces ID, envoyez à chacun des chemins d'accès suivants une requête GET à l'aide de Postman :
/apps
/connections
Par exemple, pour obtenir l'ID de l'application, envoyez une requête GET à NPrinting.server.name:4993/api/v1/apps.
Recherchez les ID dans les réponses reçues.
- Voici un exemple de code comprenant les ID d'application et de connexion dans le corps d'une requête POST /filters :
{ "appId": "de867383-3d6a-4f37-8fe5-387552c60d3f", "enabled": true, "name": "AverageSaleByCategory", "description": null, "fields": [ { "connectionId": "9a7b1016-8d22-46ac-a384-158f715547a7", "name": "CategoryName", "overrideValues": false, "values": [ { "value": "Bath Clothes", "type": "text" }, { "value": "Men´s Clothes", "type": "text" }] }] }
La réponse inclut l'ID du filtre que vous venez de créer, qui est renvoyé dans l'en-tête location.
Étapes suivantes
Maintenant que vous avez étudié quelques requêtes dans l'API Qlik NPrinting, essayez d'autres points de terminaison d'API, pour démarrer l'exécution d'une nouvelle tâche, par exemple.
Les ressources supplémentaires indiquées ci-dessous pourront également vous être utiles :