Los webhooks son una capacidad de ArcGIS Enterprise que proporciona automáticamente receptores de webhooks u otras aplicaciones con información basada en eventos. ArcGIS Enterprise admite dos tipos de webhooks:
- Webhooks de organización: los administradores pueden suscribirse a desencadenadores de eventos que pertenezcan a usuarios, grupos y elementos de una organización.
- Webhooks de servicios: los administradores pueden suscribirse a webhooks para servicios de entidades y geoprocesamiento.
- Webhooks de geoprocesamiento: los administradores pueden establecer webhooks de servicios de geoprocesamiento que se invocan cuando se completa un trabajo de servicio de geoprocesamiento.
- Webhooks de servicios de entidades: los administradores pueden suscribirse a desencadenadores de eventos que pertenezcan a los servicios de entidades de una organización.
Todos los webhooks de ArcGIS Enterprise siguen un proceso similar. Una vez desencadenado el webhook, la información de eventos se entrega en un esquema JSON que contiene información relevante específica de cada tipo de webhook. Cada tipo de webhook tiene eventos específicos a los que pueden suscribirse. Por ejemplo, los webhooks de organización se pueden invocar cuando se publique un elemento o cuando se cree una nueva cuenta de usuario. Los webhooks de servicios de entidades se pueden desencadenar cuando se ha modificado el esquema de una capa de entidades. Los webhooks de servicios de geoprocesamiento solo envían información de eventos cuando se ha completado un trabajo de servicio de geoprocesamiento.
Con la información sobre los eventos enviada, las plataformas de receptores realizan una acción específica que notifica sobre el evento a los miembros y administradores de la organización. Dependiendo de las necesidades de la organización, se puede hacer mediante el envío de correos electrónicos a miembros específicos o mensajes a administradores en Slack.
Dado que los webhooks proporcionan notificaciones una vez que ocurre un evento, puede ser más efectivo que los sondeos. A diferencia de los sondeos, los webhooks no requieren que las aplicaciones sigan comprobando el sistema para ver si se ha producido un evento específico.
Escenario: webhooks de organización
Considere una situación en la que una organización de ArcGIS Enterprise tenga un conjunto de estándares concretos que cada elemento debe cumplir antes de poder compartirlo públicamente. Los administradores de esta organización desean crear un flujo de trabajo que les permita responder en tiempo real cuando un elemento se ha compartido sin cumplir sus estándares. Deben aprovechar los webhooks para notificarlos cuando el propietario de un elemento ha compartido su elemento públicamente y utilizar la información de eventos de la carga como parte de un script que enviará mensajes a los administradores específicamente si ese elemento no cumple con sus estándares, lo que ofrece a los administradores la oportunidad de actualizar el elemento o dejar de compartirlo con el público.
La siguiente lista describe cómo pueden aprovechar los administradores de la organización los webhooks para crear este flujo de trabajo:
- Los administradores de la organización configuran el receptor de webhook para escribir cargas entrantes como archivos locales de texto.
- Los administradores crean un script de Python que analiza el archivo de texto de carga para extraer información relevante sobre el elemento y la operación realizada. El mismo script permite a los administradores responder a esta información enviando una notificación a un canal de Slack designado. Si un elemento se comparte públicamente, pero no cumple con los estándares públicos, el script usa la API de Slack para enviar a los administradores de la organización un mensaje que explica la información que falta o que es incorrecta.
- Una vez creado el script, los administradores crean un webhook que se desencadenará cuando el propietario de un elemento comparta su elemento.
- Al compartir un elemento, el script analizará el archivo de texto de carga y determinará si el elemento se ha compartido públicamente o solamente dentro de la organización. Si se comparte dentro de la organización, no se realiza ninguna acción adicional. Si el elemento se comparte públicamente, el script lo calificará según los estándares definidos de la organización. Si la calificación es baja (lo que significa que no se cumplen los estándares públicos), los administradores recibirán una notificación en su canal de Slack sobre el elemento que se compartió y cuáles de sus metadatos no cumplen actualmente los estándares.
- A continuación, un administrador de la organización puede responder actualizando los metadatos para cumplir los estándares, eligiendo si dejar de compartir el elemento o enviando un mensaje al propietario del elemento para que realice los cambios necesarios, directamente desde Slack.