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.
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.
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.
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)
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¶m2=value_2
Con métodos PUT, POST y DELETE, una configuración como la siguiente
enviará el siguiente JSON en el request:
Es posible personalizar la llamada del servicio escribiendo directamente el body o indicando que los parámetros se deben enviar como url-encoded
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: " {{"
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 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
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.
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:
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.
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.
Introduce 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.
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).
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¶m2=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 uso | Configuración | Valor retornado |
---|---|---|
Propiedad en el primer nivel | nombre | Ejemplo de JSON |
Propiedad en segundo nivel | autor.activo | true |
Valor dentro de un arreglo | valores[2] | 30 |
Navegación dentro de arreglos | usuarios[0].roles[0] | administrador |
Navegación dentro de arreglos y propiedades | usuarios[1].nombre | Bob |
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
¡Gracias!