Utilizar fácilmente la API REST de Qodly

Traducido automáticamente de Deepl

Hace unos meses, anunciamos que Qodly Studio está ahora disponible para todos nuestros Silver Partners (y superiores).

Qodly Studio para 4D está totalmente integrado en 4D, permitiendo a 4D Server alojar su aplicación tanto con escritorio como con páginas web.

Qodly Studio también es accesible en Qodly, como parte de la recién lanzada oferta SaaS de 4D. Esta innovadora solución híbrida low-code está diseñada específicamente para aplicaciones de negocio basadas en navegador web.

Incluso si ya ha construido aplicaciones usando la plataforma Qodly, ¡tenemos más buenas noticias! Ahora con 4D 20R5 puede utilizar la API REST de una aplicación Qodly para trabajar sin problemas con sus datos.

Siga leyendo para saber más.

HDI_Qodly_App_REST_API

principios fundamentales

el sistema de roles y privilegios

Esta funcionalidad se basa en un mecanismo de claves API vinculado al sistema de roles y privilegios incluido en 4D 19 R8. Se trata de un sistema potente y totalmente personalizable para proteger sus datos de usuarios no autorizados. El acceso a los datos se concede en función de quién accede y a qué datos se accede. Esto se hace config urandoroles.

Antes de comenzar, obtenga algunos conocimientos básicos sobre esta función.

manejar las claves de la API en el tablero qodly

En el panel de control Qodly, se da una URL de punto final para el acceso REST.

También puede generar una clave API y asociarla a un rol. Esta clave API proporciona acceso REST a los datos expuestos en su aplicación Qodly y le permite ejecutar todas las acciones permitidas para el rol asociado.

Consulte también la documentación de Qodly para conocer el resto de funcionalidades relacionadas con las claves API (establecer una fecha de caducidad, autorizar algunas IPs de clientes, … etc)

Utilizar la API REST de una aplicación Qodly

Puede dirigirse a la API REST de su aplicación Qodly desde:

  • una aplicación 4D Server (utilizando el comando Open datastore o la clase HTTPRequest )
  • Cualquier aplicación de terceros que soporte peticiones REST

escenario

Considere una aplicación Qodly que gestiona Productos, exponiendo una clase de datos de producto. Una aplicación 4D Server(Factory) necesita utilizar la API REST para leer o crear Productos. Los Productos de la aplicación Qodly están protegidos contra el acceso no autorizado a través del sistema de roles y privilegios.

preparando el acceso a la API rest

En primer lugar, configure los roles que están autorizados a realizar acciones específicas sobre los datos definidos utilizando la interfaz de Roles y Privilegios en Qodly Studio.

blank

La lectura de la clase de datos del producto está permitida para el rol Empleado debido al nivel de privilegio«simple» que posee.

blank

blank

Para permitir que una aplicación cliente utilice la API REST de la app Productos de Qodly, hemos generado en el dashboard Productos de Qodly una clave API asociada al rol Empleado:

blank

utilizar la API rest de la app productos qodly en una app 4D Server con el comando open datastore

En la aplicación cliente 4D Server(Factory), la lista de los productos debe ser mostrada.

Aquí está el código 4D:

Form.products:=ds.getProducts("Employee")

Y aquí está la clase DataStore:

Class extends DataStoreImplementation

exposed Function getProductsDatastore($apiKey : Text; $id : Text) : 4D.DataStoreImplementation
	
        //End point URL given on the Qodly dashboard 
	var $connect : Object:={hostname: "https://xxx-yyyyyyyy-zzzz-xxxx-yyyy-zzzzzzzzzzzz.xx-yyy.acme.com"; tls: True}
	var $theRemoteDS : 4D.DataStoreImplementation
	
	$connect["api-key"]:=$apiKey
	
	$theRemoteDS:=Open datastore($connect; $id)
	return $theRemoteDS
	
exposed Function getProducts($role : Text) : 4D.EntitySelection
	
	var $apiKey : Text
	var $theRemoteDS : 4D.DataStoreImplementation
	
	$apiKey:="82c0abfe-0628-4446-b890-9add5509335c"
	
	$theRemoteDS:=This.getProductsDatastore($apiKey; $role)
	
	return $theRemoteDS.product.all()

En la función getProducts(), utilizamos la clave API correspondiente al rol Empleado.
Gracias a la función getProductsDatastore(), obtenemos el objeto datastore correspondiente a la app Productos Qodly. Se abre una sesión en esta instancia Productos. Contiene los privilegios del rol Empleado.

De modo que con este objeto datastore, podemos ejecutar todas las acciones permitidas para el rol Empleado.

Nota:
– la clave de API debe indicarse una sola vez (como propiedad «api-key » en el objeto connect) al llamar al comando Open datastore
– la URL del endpoint dada en el dashboard de Qodly de la instancia Productos se utiliza como nombre de host.
para una rápida comprensión, hemos utilizado la clave API como un valor codificado en el código. Por motivos de seguridad, debería estar en un archivo protegido externamente (no sincronizado en GitHub, por ejemplo).

He aquí el resultado de la aplicación 4D Server:

blank

utilizar la API rest de la app qodly de productos Desde cualquier aplicación que utilice peticiones REST

El siguiente ejemplo muestra cómo utilizar Postman para ejecutar solicitudes REST dirigidas a la API REST de una aplicación Qodly. El IDH adjunto también demuestra cómo ejecutar dichas peticiones utilizando la clase HTTPRequest, JavaScript u otras tecnologías.

Tenga en cuenta que la clave API debe introducirse en la cabecera «api-key » para cada solicitud REST.

blank

Los ejemplos anteriores presentan algunos datos de lectura, pero también puede crear, actualizar o eliminar datos utilizando la API REST.

Más información

Vea el vídeo adjunto para ver un ejemplo completo, desde la creación de una demo sandbox en Qodly hasta el uso de la API REST.

Visite el sitio web de Q odly para obtener más información y mantenerse al día sobre las nuevas características.

Avatar
• Propietario de producto - Marie-Sophie Landrieu-Yvert ingresó al equipo de 4D Product como Propietario de producto en 2017. Como tal, está a cargo de escribir las historias de los usuarios y luego traducirlas en especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Marie-Sophie se graduó en la Escuela de Ingeniería de ESIGELEC y comenzó su carrera como ingeniera en IBM en 1995. Participó en varios proyectos (de mantenimiento y creación) y trabajó como desarrolladora de Cobol. Luego trabajó como diseñadora de UML y desarrolladora de Java. Sus principales funciones fueron analizar y redactar requisitos funcionales, coordinar los equipos de negocio y de desarrollo.