Inicio

La API Qlik NPrinting es una API de tipo REST que sirve para gestionar los objetos de Qlik NPrinting mediante programación. Un subconjunto de la funcionalidad que se encuentra en la consola web de Qlik NPrinting está disponible a través de la API.

Los objetos que manipula en la consola web de Qlik NPrinting están representados en la API como entidades JSON. Estas entidades tienen propiedades que se corresponden con la configuración que se encuentra en la consola web de Qlik NPrinting. La API tiene un conjunto de puntos de conexión que le permiten crear, recuperar, actualizar y eliminar entidades para apps, usuarios, grupos, informes, etc. Para todas las solicitudes, los datos devueltos se filtran según los permisos del usuario, es decir, si un usuario no está autorizado a acceder a una determinada entidad, esa entidad no se devuelve en la respuesta.

Un usuario debe tener una cuenta de dominio asociada para iniciar sesión en la API como usuario autenticado de Windows. Si desea más información sobre cómo configurar una cuenta de dominio, vea Crear usuarios.

Para ayudarlo a familiarizarse con la API, veremos algunos ejemplos sencillos usando un cliente REST llamado Postman. Aprenderá a realizar lo siguiente:

  • Conectar y autenticar las credenciales de usuario
  • Recuperar una lista de apps
  • Actualizar una entidad
  • Crear un filtro

Antes de comenzar, necesitará realizar lo siguiente:

Nota: Dependiendo del entorno, es posible que necesite configurar Chrome para que acepte certificados autofirmados. Consulte la documentación de Chrome para obtener información e instrucciones adicionales.

Conectar con API de Qlik NPrinting

De forma predeterminada, Qlik NPrinting Server escucha las solicitudes REST en el puerto 4993, por lo que la URL es:

https://NPrinting.server.name:4993/api/v1/<path>

Autenticar las credenciales de usuario

Antes de hacer nada con la API de NPrinting, debe autenticar las credenciales de usuario.

En el ejemplo a continuación, nos autenticaremos con el nombre de usuario actual de Windows.

Abra Postman y rellene los campos como se muestra a continuación, reemplazando NPrinting.server.name por la URL del equipo en el que esté instalado su Qlik NPrinting Server:

Recuperar una lista de apps

El siguiente punto de conexión devuelve una lista completa de las apps de Qlik NPrinting para las que el usuario actual tiene permiso de visualización.

Abra Postman y rellene los campos como se muestra a continuación, reemplazando NPrinting.server.name por la URL del equipo en el que esté instalado su Qlik NPrinting Server:

La respuesta incluye el ID, el título y otros detalles de cada app.

Actualizar una entidad

Puede actualizar determinadas entidades a través de la API utilizando el método PUT. Cuando actualice una entidad, puede que Qlik NPrinting Server sustituya los valores predeterminados por las propiedades omitidas, por lo que le recomendamos que siempre incluya la entidad completa cuando realice una actualización.

En este ejemplo, actualizaremos la propiedad email de la entidad users.

Para actualizar la entidad:

  1. Si no conoce el ID del usuario que desea actualizar, escriba la siguiente ruta en Postman y envíe una solicitud GET:

     /users

    Busque el ID de usuario en la respuesta.

  2. Agregue el ID de usuario a la ruta de users en Postman y envíe una solicitud GET:

    /users/{id}

    La respuesta deberá presentar más o menos el siguiente aspecto:

    { "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" }

    }
  3. Copie el contenido rodeado por los paréntesis internos de la entidad devuelta y péguelo en el cuerpo de una nueva solicitud PUT.
  4. Cambie el valor de email.
  5. Agregue la propiedad de contraseña y el valor correspondiente a la entidad. El cuerpo de la solicitud deberá presentar más o menos el siguiente aspecto:

    { "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" }

  6. Con la entidad actualizada en el cuerpo, envíe una solicitud PUT usando la siguiente ruta:

    users/{id}

    En este ejemplo, {id} sería 113ac265-163e-4feb-854e-ade3cdafc837.

  7. Envíe una solicitud GET usando la misma ruta para verificar el cambio.

Crear un filtro

Puede crear filtros para tareas, informes, usuarios y objetos mediante la API utilizando el método POST. En este ejemplo, crearemos un filtro simple para CategoryName, que es un campo en el origen de datos de una aplicación de ventas.

  1. Para crear un filtro, debe conocer los ID de la app y la conexión a la que desea aplicar el filtro.

    Para recuperar los ID, envíe por medio de Postman una solicitud GET a cada una de las rutas siguientes:

    /apps

    /connections

    Por ejemplo, para obtener el ID de la app, envíe una solicitud GET a NPrinting.server.name:4993/api/v1/apps.

    Busque los ID en las respuestas.

  2. Aquí tiene un ejemplo del código que incluye la app y los ID de conexión en el cuerpo de una solicitud 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 respuesta incluye el ID del filtro creado recientemente, el cual se devuelve en la cabecera location.

Siguientes pasos

Ahora que ha visto algunas solicitudes en la API de Qlik NPrinting, pruebe algunos otros puntos de conexión de la API, por ejemplo, para comenzar una nueva ejecución de tareas.

Aquí tiene algunos recursos adicionales que pueden ayudarle: