Trucos y Consejos
Un ejemplo de Survey123 for ArcGIS y FME Server
Los webhooks permiten el intercambio de notificaciones entre servidores sobre los eventos que han ocurrido y las acciones a tomar. Desde el punto de vista técnico, se envía una solicitud HTTP POST a través de una URL preparada para este fin. Normalmente, el contenido se transmite en formato JSON. FME Server permite crear la URL del webhook y procesar los datos enviados utilizando un espacio de trabajo de FME.
El siguiente ejemplo explica cómo configurar un webhook en FME Server para procesar datos de Survey123 for ArcGIS. Survey123 for ArcGIS es una solución desarrollada por Esri para la recogida de datos basada en formularios o encuestas. El siguiente esquema ilustra la conexión de los servidores implicados y el intercambio de datos a través de webhooks.
Los datos recogidos en una encuesta se envían a un FME Server vía un webhook y allí pueden ser procesados automáticamente. El resultado de un proceso de FME puede ser, por ejemplo, un informe, el almacenamiento de los datos transferidos en un sistema de archivos o base de datos, o el lanzamiento de otra acción como el envío de una notificación por correo electrónico.
Requisitos para el uso de webhooks
FME Server o FME Cloud
Survey123 for ArcGIS (solicita una prueba gratuita)
¿Cómo funciona?
1. Crea una encuesta con Survey123
2. Crea un espacio de trabajo de FME para procesar el contenido de la URL del webhook
Para leer el contenido del webhook (en formato JSON), el Reader Text File es una buena opción. Cuando se crea el archivo hay que asegurarse de que el parámetro del Reader "Leer Todo el Archivo de una Vez" esté activado. Utilizando el JSONFlattener, se puede transferir el contenido del archivo JSON a atributos de FME. En función del formato de salida deseado (en este caso, un archivo de Excel con cuatro hojas), los atributos se preparan de forma adecuada y se transfieren a la estructura de destino.
3. Publicación del espacio de trabajo de FME en FME Server
Al publicar el espacio de trabajo hay que asegurarse de que esté registrado al menos como un servicio Job Submitter (otros tipos de servicio son opcionales). Además, en las Propiedades del Job Sumitter debe seleccionarse el reader Text File en el parámetro "Send HTTP Message Body to Reader". Esto se hace para transferir el contenido del webhook al espacio de trabajo de FME cuando se ejecuta el proceso (ver las figuras de abajo).
4. Creación de la URL del webhook a través de la interfaz web de FME Server
La URL del webhook se genera a través de la interfaz web de FME Server. En "Run Workspace", primero se selecciona el espacio de trabajo generado que se llamará a través de la URL del webhook. En "Advanced" se encuentra la opción de generar la URL del webhook.
El primer paso es configurar un token que determine el periodo de validez del webhook.
La URL del webhook generada se muestra en el siguiente diálogo. Para el uso en Survey123 utilizaremos la opción "Authorization with Query String". La URL se puede copiar al portapapeles. Con esto se finaliza la configuración en el lado de FME.
5. Configuración del webhook en Survey123
En este último paso de la configuración, se llama a los parámetros de la encuesta en Survey123 y se introduce la URL del webhook que se copió en el paso anterior. Survey123 permite una serie de configuraciones tales como triggers y contenido de datos.
Finalmente, se puede iniciar la creación de encuestas. Cuando se envía una encuesta, el contenido se transfiere automáticamente a FME Server. A través de "Jobs > Completed" se pueden monitorizar las encuestas ejecutadas.
Puedes encontrar más información sobre FME Server y FME Cloud en https://www.conterra.es/portfolio/fme.
Francisco Girón Gesteira