Webhooks são um recurso do ArcGIS Enterprise que fornece automaticamente receptores de webhook ou outros aplicativos com informações orientadas a eventos. O ArcGIS Enterprise suporta dois tipos de webhooks:
- Webhooks da organização—Os administradores podem assinar ativadores de eventos pertencentes a usuários, grupos e itens de uma organização.
- Webhooks de serviço—Os administradores podem assinar webhooks para geoprocessamento e serviços da feição.
- Webhooks de geoprocessamento—Os administradores podem configurar webhooks do serviço de geoprocessamento para serem solicitados quando uma tarefa do serviço de geoprocessamento for concluída.
- Webhooks do serviço da feição—Os administradores podem assinar ativadores de eventos pertencentes aos serviços da feição de uma organização.
Todos os webhooks do ArcGIS Enterprise seguem um processo semelhante. Após o webhook ser ativado, as informações do evento são entregues em um esquema JSON contendo informações relevantes, específicas para cada tipo de webhook. Cada tipo de webhook tem eventos específicos nos quais eles podem se inscrever. Por exemplo, os webhooks da organização podem ter sido solicitados quando um item foi publicado ou quando uma nova conta de usuário foi criada. Os webhooks de serviço da feição podem ser ativados quando o esquema de uma camada de feição é modificado. Os webhooks do serviço de geoprocessamento entregam somente informações de eventos quando um trabalho do serviço de geoprocessamento é concluído.
Com as informações do evento entregues, as plataformas receptoras realizam uma ação específica que notifica os membros da organização e administradores do evento. Dependendo das necessidades da organização, isso pode ser enviar e-mails para membros específicos ou administradores de mensagens no Slack.
Como os webhooks fornecem notificações quando um evento ocorre, ele pode ser mais eficaz do que a pesquisa. Ao contrário da análise, os webhooks não exigem que os aplicativos continuem verificando o sistema para visualizar se ocorreu um evento específico.
Cenário: Webhooks da organização
Considere um cenário onde uma organização do ArcGIS Enterprise tenha um conjunto de padrões específicos que cada item deve atender antes de ser compartilhado publicamente. Os administradores desta organização desejam criar um fluxo de trabalho que lhes permita responder em tempo real quando um item foi compartilhado que não atende aos seus padrões. Eles desejam aproveitar os webhooks para notificá-los quando um proprietário de item compartilhar seu item publicamente e usar as informações do evento na carga útil como parte de um script que enviará uma mensagem aos administradores especificamente se esse item não atender aos seus padrões, dando aos administradores uma chance de atualizar o item ou descompartilhá-lo do público.
A lista abaixo descreve como os webhooks podem ser aproveitados pelos administradores da organização para criar esse fluxo de trabalho:
- Os administradores da organização configuram o receptor de webhook para gravar cargas úteis de entrada como arquivos de texto locais.
- Os administradores criam um script de Python que analisa o arquivo de texto da carga útil para extrair informações relevantes sobre o item e a operação realizada. O mesmo script permite que os administradores respondam a essas informações enviando uma notificação para um canal Slack designado. Se um item for compartilhado publicamente, mas não atender aos padrões públicos, o script usará a API de Slack para enviar uma mensagem descrevendo as informações ausentes ou incorretas aos administradores da organização.
- Após o script ser criado, os administradores criam um webhook que será ativado quando o proprietário de um item compartilhar seu item.
- Quando um item for compartilhado, o script analisará o arquivo de texto da carga útil e determinará se o item foi compartilhado publicamente ou dentro da organização. Se compartilhado dentro da organização, nenhuma ação adicional será tomada. Se o item for compartilhado publicamente, o script avaliará o item com base nos padrões definidos pela organização. Se a nota for baixa (o que significa que os padrões públicos não foram atendidos), os administradores serão notificados em seu canal Slack sobre qual item foi compartilhado e quais de seus metadados não estão atendendo aos padrões.
- Um administrador da organização pode responder atualizando os metadados para atender aos padrões, optando por descompartilhar o item ou enviando uma mensagem ao proprietário do item para que ele faça as alterações necessárias, diretamente do Slack.