Artículos sobre: Workflow del Proceso
Este artículo también está disponible en:

Invocar Servicios Web Desde el Flujo del Proceso

Con Flokzu tienes la posibilidad de realizar invocaciones a Web Services REST desde el flujo de un proceso para automatizar tareas al interactuar con sistemas externos.

Ejemplos de invocaciones de webservices típicas



Enviar campos de un formulario de Flokzu hacia un sistema externo: por ejemplo, si en Flokzu tienes modelado un proceso de evaluación de candidatos para puestos vacantes de tu organización, podrás enviar la información del candidato ganador desde campos del formulario de Flokzu hacia el sistema de RRHH de tu empresa, una vez finalizado el proceso de selección.

Consultar Información de un sistema externo: por ejemplo, si en Flokzu tienes modelado un proceso de aprobación de créditos hipotecarios, resultará necesario invocar un servicio del banco central de tu país para consultar el tipo de cambio del día y guardarlo en un campo del formulario Flokzu.

Ejecutar acciones sobre un sistema externo: por ejemplo, si en Flokzu tienes modelado un proceso de aprobación de compras, puedes invocar un servicio de tu sistema de gestión de pagos para que ejecute el pago al proveedor una vez la compra haya sido aprobada en el proceso Flokzu.

¿Cómo invocar un Web Service desde el flujo del proceso?



Para invocar un Web Service desde el flujo del proceso, lo primero que debes hacer es colocar una Tarea de Servicio en la etapa del workflow el la cual deseas realizar la invocación y seleccionar la opción REST




Finalmente, debes configurar el Web Service que deseas invocar con lo siguientes pasos:

Introducir la URL y el tipo de servicio (método) que deseas invocar
Configurar los datos de entrada que se enviarán al Web Service
Configurar los datos de salida que se reciben del Web Service y pueden cargarse en campos de formulario en Flokzu.
Configurar los Encabezados HTTP (opcional), por temas de seguridad, por ejemplo.
Por último puedes seleccionar la autenticación que utiliza tu servicio en la pestaña Autenticaciones.


1. Configurar URL y método



Escribe o pega la URL del servicio (endpoint) que deseas invocar y selecciona el método en la lista de la derecha.


En caso de que sea necesario hacer referencia al contenido de un campo del formulario en la URL del webservice, se debe hacer utilizando mustaches {{Nombre Campo}}.

Los métodos soportados son:
GET
PUT
POST
DELETE

Los queryParam deben ser incluidos explícitamente en la URL, excepto en el caso de métodos GET que los tomará de los parámetros de entrada (ver el punto 2)


2. Configurar datos de entrada (Body de la llamada)



Para cada parámetros de entrada Flokzu te permite insertar el contenido de los campos de tu formulario o enviar valores literales. Haz clic en el ícono con forma de lápiz para alternar entre las dos opciones.



Los parámetros serán traducidos automáticamente en el body de la llamada, excepto cuando se utiliza el método GET en donde serán enviados como queryParam.
Veamos algunos ejemplos:

Con método GET los parámetros de entrada son enviados en la URL. Una configuración como la siguiente



invocará a la siguiente URL:

https://api.myapp.com/v1/service?param1=value_1&param2=value_2


Con métodos PUT, POST y DELETE, una configuración como la siguiente



enviará el siguiente JSON en el request:

{
    "param1":"value_1",
    "param2":"value_2"
}


Personalización del Body de la llamada



Es posible personalizar la llamada del servicio escribiendo directamente el body o indicando que los parámetros se deben enviar como url-encoded

RAW


La opción raw te permite escribir directamente el JSON de entrada. Además, utilizando mustaches podrás insertar el contenido de un campo del formulario directamente en el body.





Para habilitar los mustaches debes escribir un espacio seguido por una doble llave: " {{"


URL-ENCODED


Si tu servicio requiere el envío de datos como url-encoded, selecciona la opción x-www-form-urlencoded dentro de la pestaña Parámetros de Entrada. Luego podrás agregar el par parámetro - valor






FORM-DATA


Form-data hace referencia a una forma de comunicación entre servicios web, donde los datos se envían como parejas clave/valor. Si bien es útil para enviar cualquier tipo de dato (texto, números, valores booleanos), es además el único mecanismo que soporta la codificación "multipart/form-data", necesario para poder enviar archivos adjuntos.


Si seleccionas esta opción y no agregas un encabezado Content-Type, Flokzu agregará automáticamente este encabezado con valor multipart/form-data

3. Configurar datos de salida (Body de la respuesta)



Flokzu admite dos tipos de respuesta en los servicios que deberás elegir en la pestaña Datos de Salida:

RAW: La respuesta del servicio REST debe ser un JSON válido. Puedes comprobar el JSON utilizando la siguiente web http://jsonviewer.stack.hu/
BINARY: Un archivo que podrás adjuntar en la Pestaña Adjuntos o en un campo del formulario.

RAW



Luego de elegir esta opción deberás indicar el nombre del parámetro del JSON de respuesta al que deseas acceder, y en la columna de la derecha el campo del formulario donde deseas insertar ese valor.

Supongamos que este es el JSON de salida:

{
  "nombre": "Ejemplo de JSON",
  "descripcion": "Este es un ejemplo de JSON con varios niveles y datos dentro de un array.",
  "autor": {
    "nombre": "Juan Pérez",
    "edad": 35,
    "activo": true
  },
  "valores": [10, 20, 30, 40],
  "usuarios": [
    {
      "id": 1,
      "nombre": "Alice",
      "email": "alice@example.com",
      "activo": true,
      "roles": ["administrador", "usuario"]
    },
    {
      "id": 2,
      "nombre": "Bob",
      "email": "bob@example.com",
      "activo": false,
      "roles": ["usuario"]
    }
  ]
}


Puedes obtener los distintos valores navegando entre las propiedades utilizando un punto (.) o indicando el índice de los arreglos entre paréntesis rectos.

A continuación veremos como configurar los parámetros de salida para acceder a algunas de las propiedades.




Caso de usoConfiguraciónValor retornado
Propiedad en el primer nivelnombreEjemplo de JSON
Propiedad en segundo nivelautor.activotrue
Valor dentro de un arreglovalores[2]30
Navegación dentro de arreglosusuarios[0].roles[0]administrador
Navegación dentro de arreglos y propiedadesusuarios[1].nombreBob



BINARY



Si el servicio web que estás invocando devuelve en su respuesta un archivo, podrás adjuntarlo en tu instancia de proceso. Luego de seleccionar la opción Binary, deberás elegir de la lista el campo donde se guardará el adjunto.




4. Configurar Encabezados HTTP



Introduce los Encabezados HTTP (opcional), por temas de seguridad, por ejemplo.





5. Configurar Autenticaciones



Por último puedes seleccionar la autenticación que utiliza tu servicio en la pestaña Autenticaciones.





¿Existe alguna forma más simple de integrar Flokzu con otras aplicaciones?



Si no tienes conocimientos técnicos sobre integraciones o simplemente deseas configurar la integración rápidamente y de manera sencilla, puedes utilizar un conector como Zapier. Simplemente coloca una Tarea de Servicio en el workflow, selecciona “Zapier” y sigue los pasos para integrar Flokzu y Zapier. Una vez configurada la integración, podrás conectar Flokzu con más de 6.000 apps (Facebook, Google Drive, Gmail, SalesForce, etc).

Actualizado el: 09/10/2024

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!