Webservices - 4biz Builder
Este documento recoge los conocimientos mínimos necesarios para el correcto uso de los servicios vía Rest.
URL | Descripción | Parámetros | Retorna |
|---|---|---|---|
/execute/{name} | Inicia una transmisión ESI desde el nombre | name: Nombre del flujo registrado | Objeto representativo del flujo registrado |
/instance/initialize/{processInstanceId} | Recupera los valores de una instancia de proceso | processInstanceid: ID de la instancia de proceso. | Objeto representativo de la instancia de proceso registrada. |
/instance/suspend/{processInstanceId} | Suspende una instancia de proceso. | processInstanceid: ID de la instancia de proceso | Objeto representativo de la instancia de proceso registrada |
/instance/restart/{processInstanceId} | Reinicia una instancia de proceso. | processInstanceid: ID de la instancia del proceso. | Objeto representativo de la instancia de proceso registrada |
/instance/reopen/{processInstanceld} | Vuelve a abrir una instancia de proceso. | processInstanceid: ID de la instancia del proceso. | Objeto representativo de la instancia de proceso registrada |
/userTask/{userTaskId} | Recupera una tarea de usuario. | userTaskId: ID de la tarea de usuario creada. | Objeto representativo de la instancia de proceso registrada |
/rule/executeWithMap/{name} | Ejecuta una regla de negocio | name: Nombre de la regla de negocio registrada. | Objeto representativo de la instancia de proceso registrada |
- request body: JSON Objeto con variables para el flujo
- request body: JSON Objeto con variables para reglas de negocio
Tabla 1 - Especificación de las APPLICATION PROGRAMMABLE INTERFACES (APIs)
Orientaciones específicas para acceder a la API Rest
En las siguientes secciones, se detalla cada tipo de uso previsto para los servicios disponibles a través de Rest en el producto 4biz Enteprise Builder.
Autenticación
Para utilizar las API, el cliente debe iniciar sesión en el Builder. Para hacerlo, simplemente obtenga un token del servicio de autenticación e inyecte este token en el header de cada solicitud REST con el identificador authentication-token. La autenticación se realiza a través del servicio POST /cit-esi-web/token, pasando un objeto JSON con los atributos de usuario y contraseña en el body.

Figura 1: Ejemplo utilizando el plugin Restlet Client de Chrome
API REST de objetos de negocio
Cada objeto de negocio proporciona un conjunto de servicios REST que se pueden consumir desde la URL /cit-esi-web/dynamic/{application name}/{business object name}. Estos son servicios básicos para crear, actualizar, listar y eliminar el objeto de negocio, además de un método getStructure que devuelve los metadatos del objeto de negocio. Cada SQL creado en el objeto de negocio también se puede llamar en forma de método. A continuación se muestran ejemplos que utilizan el objeto de negocio hotelero de la aplicación de hoteles. Para cada solicitud, se debe proporcionar el authentication-token obtenido en el servicio de login. La URL debe terminar con ".json".
Inclusión de objeto de negocio
- HTTP verb: POST
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}.json
- Body: JSON que contiene los atributos del registro del objeto de negocio que se va a incluir.

Figura 2 - Inclusión del objeto de negocio
Alteración de objeto de negocio
- HTTP verb: POST
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}/update.json
- Body: JSON que contiene los atributos del registro del objeto de negocio que se va a cambiar.

Figura 3 - Cambio del objeto de negocio
Eliminación de objeto de negocio
- HTTP verb: POST
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}/remove.json
- Body: JSON que contiene la clave principal del registro del objeto de negocio que se eliminará.

Figura 4 - Eliminación del objeto de negocio
Listado de objetos de negocio
- HTTP verb: GET
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}.json

Figura 5 - Listado de objetos de negocio
Recuperación de objeto de negocio por clave principal
- HTTP verb: POST
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}/restore.json
- Body: JSON conteniendo:
- La clave principal del registro del objeto de negocio que se va a eliminar.
- Atributo boolean findManyToOne, que indica si el sistema debe recuperar las relaciones de muchos a uno del objeto.
- Atributo boolean findOneToMany, que indica si el sistema debe recuperar las relaciones de uno a muchos del objeto.

Figura 6 - Recuperación de objetos de negocio por clave principal.
Recuperación de la estructura del objeto de negocio
- HTTP verb: GET
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}/getStructure.json

Figura 7 - Recuperación de la estructura del objeto de negocio
SQL Ejecución del objeto de negocio
- HTTP verb: POST
- URL: /cit-esi-web/rest/dynamic/{application name}/{business object name}/list.son
- Body: JSON conteniendo:
- Atributo SQLName con el nombre del SQL a ejecutar;
- Atributo JSON dynamicModel que contiene valores de parámetros esperados en SQL;
- Atributo boolean findManyToOne (opcional), que indica si el sistema debe recuperar las relaciones de muchos a uno del objeto;
- Atributo boolean findOneToMany (opcional), que indica si el sistema debe recuperar las relaciones de uno a varios del objeto.

Figura 8 - Ejecución de SQL de objeto de negocio
Ejecución de fluxos ESI
Cualquier flujo de ESI se puede ejecutar a través de REST mediante el servicio POST /cit-esi-web/rest/esi/execute/{flow name}. Para cada solicitud, se debe proporcionar el authentication-token obtenido en el servicio de login. En el cuerpo (body) de la solicitud, se debe proporcionar un JSON que contenga las variables de entrada necesarias para ejecutar el flujo. El siguiente ejemplo ejecuta el flujo "busca_empregado" (búsqueda de empleado), proporcionando el número de registro "12345" como variable de entrada del flujo. La secuencia devuelve el objeto JSON "empleado".

Figura 9 - Ejemplo de ejecución de flujos ESI