Webhooks dans ArcGIS Online

Un webhook est une méthode qui permet à une application ou à un service Web d’envoyer des informations en temps quasi réel à un autre service Web. La communication est déclenchée par un ou plusieurs événements spécifiques que vous définissez. Plutôt que de rechercher régulièrement les mises à jour, le système émet une notification dès que l’événement déclencheur survient.

Dans ArcGIS Online, des webhooks peuvent être créés pour les couches d’entités hébergées, les vues de couches d’entités hébergées et les tables hébergées. Ces webhooks envoient des charges utiles à un récepteur webhook en fonction des déclencheurs d’événement définis. Le récepteur est configuré pour effectuer des actions automatisées, comme notifier une liste prédéfinie de destinataires en cas de mise à jour, exporter les informations sur les mises à jour vers une application externe afin de créer un rapport des modifications ou exécuter des scripts de contrôle de la qualité des données mises à jour.

Les composantes de ce canal de communication sont les suivantes :

  • Déclencheur d’événement : chaque déclencheur d’événement spécifie les opérations d’API effectuées sur le service d’entités source de l’élément qui appellent le webhook. Lorsqu’un utilisateur effectue une opération qui a été spécifiée en tant que déclencheur d’événement, le webhook envoie ces informations (sous forme de charge utile) au récepteur webhook. Vous spécifiez les déclencheurs lorsque vous créez un webhook. Reportez-vous à la rubrique Déclencheurs d’événement de couche d’entités pour prendre connaissance des déclencheurs d’événement spécifiques que vous pouvez définir.
  • Charge utile : la charge utile contient les informations sur l’événement déclencheur. Reportez-vous à la rubrique Charges utiles des webhooks de couche d’entités pour des informations sur les informations incluses dans une charge utile.
  • Récepteur webhook : le récepteur webhook accepte la charge utile et envoie des informations à une liste prédéfinie de destinataires (utilisateurs ou applications). Par exemple, il peut envoyer un e-mail ou un message texte qui signale à l’utilisateur que l’événement déclencheur a eu lieu, envoyer les informations sur l’événement déclencheur à une base de données externe pour archivage ou exécuter un script sur les données en fonction de l’événement déclencheur qui a eu lieu.

    Vous pouvez utiliser des récepteurs de service Web tiers ou des services Web personnalisés pour les récepteurs webhook. Vous devez configurer des récepteurs webhook pour communiquer via une connexion HTTPS afin de recevoir les charges utiles et votre organisation ArcGIS Online doit être en mesure d’accéder aux récepteurs avant que vous n’ajoutiez un webhook à un élément. Le récepteur webhook est accessible depuis l’URL de la charge utile que vous spécifiez lorsque vous créez le webhook.

Le récepteur webhook est configuré en dehors de ArcGIS Online. Une fois le récepteur créé, vous pouvez créer un webhook.

Conditions requises

Pour que vous puissiez créer un webhook pour une couche d’entités, une vue ou une table hébergée, l’élément doit remplir les conditions requises suivantes :

  • Le paramètre Keep track of changes to the data (add, update, delete features) [Conserver un suivi des modifications des données (ajout, mise à jour et suppression d’entités)] doit être sélectionné.
  • L’élément ne peut pas se trouver dans la corbeille.

Chaque élément peut avoir jusqu’à 10 webhooks.

Création d’un webhook

Les types des membres de l’organisation pouvant créer et gérer des webhooks pour les couches d’entités hébergées, les vues de couches d’entités hébergées et les tables hébergées sont répertoriés dans le tableau ci-après, avec des informations sur l’emplacement depuis lequel ils peuvent gérer les webhooks.

Type de membre de l’organisationEmplacement depuis lequel les webhooks peuvent être gérés

Membres du rôle d’administrateur par défaut ou membres d’un rôle personnalisé qui dispose des privilèges d’administration requis pour créer et gérer des webhooks.

  • Organization (Organisation) > Settings (Paramètres) > Webhooks : de là, les administrateurs de l’organisation peuvent accéder à tous les webhooks dans l’organisation afin de les gérer. Ils peuvent également définir des paramètres de webhook avancés qui s’appliquent à tous les webhooks dans l’organisation.
  • My settings (Mes paramètres) : tous les webhooks appartenant à l’utilisateur qui se connecte sont accessibles depuis cet emplacement.
  • Onglet Settings (Paramètres) de la page des éléments d’une couche d’entités, vue ou table hébergée : l’administrateur de l’organisation peut créer des webhooks et les gérer pour l’élément spécifique à partir de cet emplacement.

Propriétaires de l’élément

  • My settings (Mes paramètres) : tous les webhooks appartenant à l’utilisateur qui se connecte sont accessibles depuis cet emplacement.
  • Onglet Settings (Paramètres) de la page des éléments d’une couche, vue ou table d’entités hébergée : le propriétaire peut créer des webhooks et les gérer pour l’élément spécifique à partir de cet emplacement.

Membres d’un groupe de mise à jour partagée avec lequel l’élément a été partagé

Onglet Settings (Paramètres) de la page des éléments d’une couche d’entités, vue ou table hébergée : le membre du groupe peut créer des webhooks et les gérer pour l’élément spécifique.

Suivez les instructions qui correspondent à votre rôle dans l’organisation pour créer un webhook :