Webhooks. Si no programas, podrías pensar que las integraciones webhook son aterradoras o al menos necesitan middleware adicional aparte de ArcGIS. Incorrecto en ambos casos. Todos los integradores ciudadanos que puedan armar un FME<\/STRONG> workbench con la extensión Data Interoperability<\/STRONG>, y tengan la extensión tanto para Pro 2.6<\/STRONG> como para Enterprise 10.8.1<\/STRONG>, pueden automatizar integraciones impulsadas por webhook entre encuestas Survey123<\/STRONG> y cualquier otra cosa a la que Data Interoperability pueda acceder.<\/P><\/P>Voy a describir el escenario en caso de que no hayas explorado este patrón de automatización antes. Survey123 es una aplicación de captura de datos basada en formularios que administra un servicio de entidades donde cada encuesta es una entidad de punto, línea o área con atributos que diseñas. Los formularios tienen un comportamiento rico y soportan dispositivos web y móviles. Hay posibilidades ilimitadas para el procesamiento posterior de las entidades de la encuesta. Lo que cubrirá este blog es este flujo de datos:<\/P><\/P>Una presentación de encuesta Survey123 representa una transacción para su servicio de entidades (agregar, actualizar)<\/LI>Se activa un webhook definido para el tipo de transacción en cada presentación<\/LI>La URL del webhook es una llamada execute para una herramienta web Spatial ETL (servicio de geoprocesamiento)<\/LI>La herramienta web realiza una integración usando la(s) entidad(es) presentada(s) en la encuesta<\/LI><\/UL><\/P>Armar esto se trata completamente de configuración, así que comencemos. Voy a describir la combinación de plataforma más común: Survey123 está alojado en ArcGIS Online y tu servidor de integración es un portal ArcGIS Enterprise - pero si tienes Survey123 en tu infraestructura empresarial también funcionará.<\/P><\/P>Dado que crearás una herramienta web que lee y escribe en un servicio de entidades, necesitarás compartir una conexión web a tu servidor como se describe en este blog<\/A>, así que tu primer paso es asegurarte de que la cuenta propietaria del servicio (por defecto llamada 'arcgis') en tu servidor pueda iniciar Workbench como se describe y usar una conexión web hacia donde viven los servicios de entidades Survey123. No continúes más allá de este punto hasta que hayas compartido exitosamente una herramienta web que utilice la conexión web, como la herramienta de prueba descrita en el blog.<\/P><\/P>Ahora voy a adelantarme para explicar cómo evitar lo que podría parecer un fallo silencioso de tu webhook. Survey123 (es decir, https:\/\/survey123.arcgis.com<\/A>) llamará a tu servidor con una solicitud POST, por lo que debe ser confiable. A continuación hay una captura de pantalla de mi navegador mientras envío una encuesta, con el panel del depurador abierto (Firefox). He resaltado la solicitud POST enviada a mi servidor - funcionó. Si tu servidor rechaza una solicitud desde Survey123 verás mensajes de error relacionados con CORS - intercambio de recursos entre orígenes cruzados.<\/P><\/P><\/P><\/P>Mira este tema sobre cómo permitir que Survey123 acceda a tu servidor - Cross Origin Resource Sharing.<\/A><\/P>Aquí se ve cómo queda en la configuración del portal:<\/P><\/P><\/P><\/P>Para mí esta configuración no fue suficiente, también tuve que cambiar los ajustes del encabezado HTTP Response Header en IIS. En tu servidor, abre IIS en el control HTTP Response Header, haz doble clic para abrirlo y Añade<\/STRONG> lo que ves abajo.<\/P><\/P><\/P><\/P><\/P><\/P>Ahora que el servidor está configurado, vamos a configurar el flujo de datos. Si tienes buena vista verás que mi encuesta de prueba trata sobre un sándwich de caviar. Si investigas las coordenadas es totalmente posible que realmente puedas comprar uno allí! Mi punto real es que Survey123 está enviando un montón de JSON, y puede ser muy complejo para una encuesta grande. Si miras otras plataformas de integración encontrarás que aunque intentan parecer<\/EM> enfoques sin código podrías verte obligado a analizar JSON a mitad del proceso para obtener los datos que quieres. Sin embargo, Survey123 siempre escribe a un servicio de entidades, que por supuesto Data Interoperability entiende nativamente, así que tenemos el lujo de olvidarnos del JSON volando alrededor e ir directamente al servicio de entidades. ¡Fantástico!<\/P><\/P>Pero primero crea tu encuesta. Aquí está la mía:<\/P><\/P><\/P><\/P>Cuando se envía una encuesta se escribe una entidad en su servicio de entidades y luego<\/<EM>\/<\/<\/> cualquier webhook configurado se activa - puedes ver el POST applyEdits<\/<\/> en mi vista del depurador del navegador arriba, antes del POST del webhook. Para apoyar al servicio geoprocesamiento integrado encontrando nuevos registros, mi encuesta contiene una pregunta oculta y obligatoria 'Integrated' con valor predeterminado 'N', que mi integración edita a 'Y'. Creé mi encuesta en el diseñador web, que no soporta preguntas ocultas, luego la edité en Survey123 Connect para agregar la pregunta, aquí se ve cómo queda cuando está editada:<\/<\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/> todo lo que queda por hacer es configurar el webhook en mi encuesta.<\/P><\/P><\/P><\/P>Ahora, cuando llega una encuesta de sandwich, mi integración webhook se activa y Integrated = 'Y'.<\/P><\/P><\/P><\/P>Integración genuina sin código, cortesía de ArcGIS Data Interoperability<\/STRONG>. Si me ves en tiendas locales de sandwich, estoy trabajando - honestamente.<\/P><\/BODY><\/HTML>
<\/P>
Ahora voy a adelantarme para explicar cómo evitar lo que podría parecer un fallo silencioso de tu webhook. Survey123 (es decir,
Mira este tema sobre cómo permitir que Survey123 acceda a tu servidor -
Aquí se ve cómo queda en la configuración del portal:<\/P>
Para mí esta configuración no fue suficiente, también tuve que cambiar los ajustes del encabezado HTTP Response Header en IIS. En tu servidor, abre IIS en el control HTTP Response Header, haz doble clic para abrirlo y Añade<\/STRONG> lo que ves abajo.<\/P><\/P><\/P><\/P><\/P><\/P>Ahora que el servidor está configurado, vamos a configurar el flujo de datos. Si tienes buena vista verás que mi encuesta de prueba trata sobre un sándwich de caviar. Si investigas las coordenadas es totalmente posible que realmente puedas comprar uno allí! Mi punto real es que Survey123 está enviando un montón de JSON, y puede ser muy complejo para una encuesta grande. Si miras otras plataformas de integración encontrarás que aunque intentan parecer<\/EM> enfoques sin código podrías verte obligado a analizar JSON a mitad del proceso para obtener los datos que quieres. Sin embargo, Survey123 siempre escribe a un servicio de entidades, que por supuesto Data Interoperability entiende nativamente, así que tenemos el lujo de olvidarnos del JSON volando alrededor e ir directamente al servicio de entidades. ¡Fantástico!<\/P><\/P>Pero primero crea tu encuesta. Aquí está la mía:<\/P><\/P><\/P><\/P>Cuando se envía una encuesta se escribe una entidad en su servicio de entidades y luego<\/<EM>\/<\/<\/> cualquier webhook configurado se activa - puedes ver el POST applyEdits<\/<\/> en mi vista del depurador del navegador arriba, antes del POST del webhook. Para apoyar al servicio geoprocesamiento integrado encontrando nuevos registros, mi encuesta contiene una pregunta oculta y obligatoria 'Integrated' con valor predeterminado 'N', que mi integración edita a 'Y'. Creé mi encuesta en el diseñador web, que no soporta preguntas ocultas, luego la edité en Survey123 Connect para agregar la pregunta, aquí se ve cómo queda cuando está editada:<\/<\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/><\/> todo lo que queda por hacer es configurar el webhook en mi encuesta.<\/P><\/P><\/P><\/P>Ahora, cuando llega una encuesta de sandwich, mi integración webhook se activa y Integrated = 'Y'.<\/P><\/P><\/P><\/P>Integración genuina sin código, cortesía de ArcGIS Data Interoperability<\/STRONG>. Si me ves en tiendas locales de sandwich, estoy trabajando - honestamente.<\/P><\/BODY><\/HTML>
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.