Créer des webhooks

En tant qu’administrateur d’une organisation, vous pouvez configurer des webhooks pour le déploiement ArcGIS Enterprise afin d’être notifié lorsque des événements spécifiques se produisent. Les sections ci-dessous expliquent comment configurer des webhooks d’organisation et de service.

Conditions préalables à la création de webhooks

Tenez compte des points suivants avant de créer des webhooks :

  • Pour utiliser des webhooks d’organisation, l’organisation doit utiliser ArcGIS Enterprise version 10.7 ou ultérieure. Pour utiliser des webhooks de service, l’organisation doit utiliser ArcGIS Enterprise version 11.0 ou ultérieure.
  • Pour créer et gérer des webhooks d’organisation, vous devez disposer du privilège Webhooks d’organisation ou du rôle d’administrateur par défaut.
  • Pour créer et gérer des webhooks de service de géotraitement, vous devez disposer du privilège Géotraitement, du rôle d’administrateur par défaut ou du rôle d’éditeur.
  • Pour créer et gérer des webhooks de service d’entités, vous devez disposer du privilège Couche d’entités, du rôle d’administrateur par défaut ou du rôle d’éditeur.
  • Les récepteurs de webhook doivent être configurés de façon à communiquer via HTTPS. Quelques options sont prises en charge pour les récepteurs, tels que les récepteurs de service Web tiers (Microsoft Power Automate, Zapier et IFFT) et les services Web personnalisés. Pour accéder à des exemples de création de services Web personnalisés ou vous familiariser avec les récepteurs tiers, reportez-vous à la rubrique Référentiel de webhook.
  • Vous pouvez configurer des webhooks pour un service d’entités uniquement si ce dernier inclut la fonctionnalité de mise à jour et bénéficie du suivi des modifications sans la synchronisation.
  • Vous pouvez configurer des webhooks pour un service de géotraitement uniquement si ce dernier est asynchrone.

Créer un webhook d’organisation

Les webhooks d’organisation vous permettent de vous abonner aux déclencheurs d’événement associés avec des éléments, des groupes et des utilisateurs du portail ArcGIS Enterprise.

Remarque :

Les webhooks d’organisation peuvent être créés via le site Web du portail ArcGIS Enterprise ou de ArcGIS Portal Directory. Pour voir un exemple de requête POST qui crée un webhook autour des événements liés à des utilisateurs, des groupes et des éléments, reportez-vous à la rubrique Créer un webhook dans la documentation de l’API REST.

Créer un webhook d’organisation dans ArcGIS Portal Directory

Pour créer un webhook d’organisation via ArcGIS Portal Directory, procédez comme suit :

  1. Accédez à ArcGIS Portal Directory et connectez-vous en tant que membre doté du rôle d’administrateur.

    Les webhooks d’organisation ne peuvent être créés et gérés que par des administrateurs disposant du privilège Webhooks d’organisation ou des membres dotés du rôle d’administrateur par défaut.

    https://organization.domain.com/context/sharing/rest
    

    Une fois que vous êtes connecté, la page de la ressource User (Utilisateur) du compte apparaît.

  2. Cliquez sur l’hyperlien Org ID (ID d’org) ou créez une requête au format ci-dessous, pour accéder à la page de la ressource Portal Self (Portail Auto) :
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. Faites défiler la page de la ressource Self (Auto) jusqu’en bas et cliquez sur Webhook > Create Webhook (Créer un webhook) pour accéder à l’opération Create Webhook (Créer un webhook).
  4. Au niveau de l’extrémité Create Webhook (Créer un webhook), indiquez les informations suivantes :
    1. Spécifiez un nom unique pour le webhook dans la zone de texte Name (Nom).
    2. Indiquez l’URL de charge utile du récepteur de webhook dans la zone de texte Payload URL (URL de charge utile), qui sera interrogée à la création du webhook ; cela permet de garantir l’établissement d’une connexion entre le récepteur et le portail ArcGIS Enterprise.

      Voici un exemple d’URL de charge utile :

      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    3. Vous pouvez également définir un secret pour le webhook qui peut être utilisé pour authentifier les messages du webhook auprès du récepteur. Saisissez la chaîne alphanumérique définie par l’utilisateur dans la zone de texte Secret (Optional) (Secret (Facultatif)).
    4. Vous pouvez également spécifier les informations de désactivation du webhook dans la zone de texte Configuration Properties (Propriétés de configuration).

      Par défaut, le webhook se désactive si 5 échecs se produisent en 5 jours.

    5. Sous Which events would you like to trigger this webhook (Événements déclencheurs de ce webhook), sélectionnez Let me define manually (Me laisser définir manuellement) ou Send me everything (Tout envoyer).
      • Si vous optez pour Let me define manually (Me laisser définir manuellement), répertoriez les événements déclencheurs utilisés pour ce webhook dans la zone de texte Send me changes for these comma separated events (Envoyer les modifications de ces événements séparés par des virgules). Par exemple, pour vous abonner à tous les événements liés à un groupe spécifique dans l’organisation, indiquez un événement déclencheur similaire à celui indiqué ci-dessous, où [groupID] représente l’ID unique associé à un groupe spécifique :
        /groups/[groupID]/update
        
        Pour afficher la liste de tous les déclencheurs d’événement des webhooks d’organisation, voir Déclencheurs d’événement.
      • Si vous sélectionnez Send me everything (Tout envoyer), vous vous abonnez à tous les événements déclencheurs pris en charge. Vous recevez alors des notifications pour chaque événement lorsqu’il se produit.
  5. Une fois les paramètres ci-dessus configurés, cliquez sur Create Webhook (Créer un webhook) pour soumettre la requête.

    Une fois l’opération terminée, un nouveau webhook est ajouté à l’organisation.

Créer un webhook d’organisation sur le site Web du portail ArcGIS Enterprise

Pour créer un webhook d’organisation via le site Web du portail ArcGIS Enterprise, procédez comme suit :

  1. Assurez-vous d’être connecté en tant qu’administrateur par défaut ou en tant que membre d’un rôle personnalisé disposant du privilège Webhooks d’organisation.
  2. Accédez à Organization (Organisation) > Settings (Paramètres) > Webhooks.
  3. Cliquez sur Create webhook (Créer un webhook).
  4. Dans la fenêtre Create webhook (Créer un webhook), effectuez les opérations suivantes :
    1. Spécifiez un nom unique pour le webhook dans la zone de texte Name (Nom).
    2. Sélectionnez un type de webhook dans le menu déroulant Type.
      • Si vous sélectionnez All (Tout), vous êtes abonné à tous les déclencheurs d’événement pris en charge. Vous recevez alors des notifications pour chaque événement lorsqu’il se produit.
      • Sélectionnez Items (Éléments), Users (Utilisateurs), Groups (Groupes) ou Roles (Rôles) pour définir manuellement les déclencheurs d’événement auxquels vous voulez vous abonner.
    3. Si vous sélectionnez un type de webhook différent de All (Tout), un menu déroulant supplémentaire relatif au type de webhook choisi s’affiche. Par exemple, si vous avez sélectionné Items (Éléments) comme type de webhook, le menu déroulant Items (Éléments) s’affiche, vous permettant de sélectionner un élément spécifique surveillé par le webhook.
    4. Sélectionnez un événement déclencheur dans le menu déroulant Events (Événements). Par exemple, si vous voulez appeler le webhook lorsqu’un élément spécifique est publié, sélectionnez /items/<ID élément>/publish.
    5. Indiquez l’URL de charge utile du récepteur de webhook dans la zone de texte Webhook URL (URL du webhook). Voici un exemple d’URL de charge utile :
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    6. Vous pouvez éventuellement définir une valeur secrète pour le webhook dans la zone de texte Secret (Optional) (Secret [Facultatif]). Cette valeur secrète sera incluse dans la charge utile du webhook et utilisée pour authentifier les messages du webhook auprès du récepteur.
  5. Cliquez sur Create webhook (Créer un webhook).

Configurer les paramètres avancés des webhooks d’organisation

Les paramètres avancés appliqués aux webhooks de l’organisation vous permettent de personnaliser davantage les performances des webhooks, en spécifiant par exemple le nombre de tentatives de livraison, l’heure de notification et la durée entre les tentatives de livraison.

Remarque :

Les propriétés avancées des webhooks d’organisation peuvent être modifiées à partir du site Web du portail ArcGIS Enterprise ou de ArcGIS Portal Directory. Pour voir un exemple de requête POST qui configure ces propriétés avancées, reportez-vous à la rubrique Mettre à jour les paramètres de webhook dans la documentation de l’API REST.

Configurer les paramètres avancés dans ArcGIS Portal Directory

Pour définir les propriétés avancées à partir de ArcGIS Portal Directory, procédez comme suit :

  1. Accédez à ArcGIS Portal Directory et connectez-vous en tant que membre doté du rôle d’administrateur.

    Les webhooks d’organisation ne peuvent être créés et gérés que par des membres dotés du rôle d’administrateur par défaut ou disposant du privilège Webhooks d’organisation.

    https://organization.domain.com/context/sharing/rest
    

    Une fois que vous êtes connecté, la page de la ressource User (Utilisateur) du compte apparaît.

  2. Cliquez sur l’hyperlien Org ID (ID d’org) ou créez une requête au format ci-dessous, pour accéder à la page de la ressource Portal Self (Portail Auto) :
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. Faites défiler la page de la ressource Self (Auto) jusqu’en bas et cliquez sur Webhook > Settings (Paramètres) > Update (Mettre à jour) pour accéder à l’opération Update Webhook Settings (Mettre à jour les paramètres des webhooks).
  4. Au niveau de l’extrémité Update Webhook Settings (Mettre à jour les paramètres des webhooks), indiquez les informations suivantes :
    1. Définissez une valeur pour Number of Notification Attempts (Nombre de tentatives de notification).

      Cette valeur indique le nombre de tentatives de livraison des charges utiles des webhooks. Par défaut, le portail ArcGIS Enterprise effectue 3 tentatives de livraison des charges utiles. Le nombre de tentatives doit être un entier compris entre 0 et 5.

    2. Définissez une valeur pour Notification Time Out in Seconds (Délai d’expiration des notifications en secondes).

      Cette valeur indique la durée, en secondes, pendant laquelle le portail ArcGIS Enterprise attend une réponse de la part d’un récepteur. Par défaut, le portail ArcGIS Enterprise attend pendant 10 secondes. La valeur de la durée d’attente du portail ArcGIS Enterprise doit être un entier compris entre 0 et 60.

    3. Définissez une valeur pour Notification Elapsed Time in Seconds (Temps écoulé des notifications en secondes).

      Cette valeur indique la durée écoulée, en secondes, entre chaque tentative de livraison de charge utile. Par défaut, le portail ArcGIS Enterprise tente de livrer une autre charge utile au bout de 5 secondes en cas d’échec de la tentative précédente, jusqu’à ce que le nombre de tentatives spécifié dans Number of Notification Attempts (Nombre de tentatives de notification) soit atteint.

  5. Une fois les paramètres ci-dessus configurés, cliquez sur Update Webhook Settings (Mettre à jour les paramètres des webhooks) pour soumettre la requête.

    Une fois l’opération terminée, les propriétés mises à jour sont appliquées à tous les webhooks d’organisation configurés.

Configurer les paramètres avancés sur le site Web du portail ArcGIS Enterprise

Pour définir les propriétés avancées à partir du site Web du portail ArcGIS Enterprise, procédez comme suit :

  1. Connectez-vous à l’organisation en tant qu’administrateur par défaut ou en tant que membre d’un rôle personnalisé disposant du privilège Webhooks d’organisation.
  2. En haut du site, cliquez sur Organization (Organisation), puis sur l’onglet Settings (Paramètres).
  3. Cliquez sur Webhooks à gauche de la page.
  4. Cliquez sur Advanced webhook settings (Paramètres de webhook avancés).
  5. Dans la fenêtre Advanced webhook settings (Paramètres de webhook avancés), effectuez les opérations suivantes :
    1. Définissez une valeur pour Number of delivery attempts (Nombre de tentatives de livraison).

      Cette valeur indique le nombre de tentatives de livraison des charges utiles des webhooks. Par défaut, le portail ArcGIS Enterprise effectue 3 tentatives de livraison des charges utiles. Le nombre de tentatives doit être un entier compris entre 0 et 5.

    2. Définissez une valeur pour Notification timeout (Délai d’expiration des notifications).

      Cette valeur indique la durée, en secondes, pendant laquelle le portail ArcGIS Enterprise attend une réponse de la part d’un récepteur. Par défaut, le portail ArcGIS Enterprise attend pendant 10 secondes. La valeur de la durée d’attente du portail ArcGIS Enterprise doit être un entier compris entre 0 et 60.

    3. Définissez une valeur pour Notification elapsed time (Temps écoulé des notifications).

      Cette valeur indique la durée écoulée, en secondes, entre chaque tentative de livraison de charge utile. Par défaut, le portail ArcGIS Enterprise tente de livrer une autre charge utile au bout de 5 secondes en cas d’échec de la tentative précédente, jusqu’à ce que le nombre de tentatives spécifié dans Number of delivery attempts (Nombre de tentatives de livraison) soit atteint.

  6. Une fois les paramètres ci-dessus configurés, cliquez sur Save (Enregistrer).

    Les propriétés mises à jour sont appliquées à tous les webhooks d’organisation configurés.

Créer un webhook de service de géotraitement

Les webhooks de service de géotraitement vous permettent de vous abonner à des déclencheurs d’événements spécifiques associés aux services de géotraitement.

Remarque :

Les webhooks de service de géotraitement ne peuvent être créés qu’à partir du répertoire administrateur de ArcGIS Server. Pour voir un exemple de requête POST qui crée un webhook de service de géotraitement, reportez-vous à la rubrique Créer un webhook de la documentation de l’API REST.

Pour créer un webhook pour un service de géotraitement, procédez comme suit :

  1. Accédez au répertoire administrateur de ArcGIS Enterprise et connectez-vous en tant que membre doté des privilèges appropriés.
    Les webhooks ne peuvent être créés et gérés que par des membres dotés du privilège Géotraitement, du rôle d’administrateur par défaut ou du rôle d’éditeur.
    Remarque :

    Le privilège Publier des couches basées sur les serveurs doit également être ajouté au rôle personnalisé des utilisateurs dotés du privilège Géotraitement.

    https://organization.domain.com/context/admin
    
  2. Une fois connecté, accédez à la ressource Webhooks d’un service de géotraitement en cliquant sur Services > [ServiceName] > Webhooks > Create (Créer), où [ServiceName] représente le service pour lequel le webhook est créé. Dans le cas de services hébergés dans des dossiers spécifiques, cliquez sur Services > [FolderName] > [ServiceName] > Webhooks > Create (Créer), où [FolderName] représente le dossier dans lequel se trouve le service.
    Attention :

    Vous pouvez configurer des webhooks pour un service de géotraitement uniquement si ce dernier est asynchrone.

  3. Au niveau de l’extrémité Create Webhook (Créer un webhook), indiquez les informations suivantes :
    1. Spécifiez un nom unique pour le webhook dans la zone de texte Name (Nom). Le nom fourni doit être composé uniquement de valeurs alphanumériques, car les caractères spéciaux génèrent un message d’erreur.
    2. Vous pouvez également définir un secret pour le webhook qui peut être utilisé pour authentifier les messages du webhook auprès du récepteur. Saisissez la chaîne alphanumérique définie par l’utilisateur dans la zone de texte Signature Key (Clé de signature).
    3. IIndiquez l’URL de charge utile du récepteur de webhook dans la zone de texte Hook URL (URL de charge utile), qui sera interrogée à la création du webhook ; cela permet de garantir l’établissement d’une connexion entre le récepteur et l’instance ArcGIS Server du déploiement. Voici un exemple de charge utile :
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    4. Vous pouvez également indiquer le type de support. Dans le menu déroulant Content Type (Type de contenu), sélectionnez l’une des options suivantes :
      • application/json (par défaut)
      • application/x-www-form-urlencoded
    5. Vous pouvez également définir le format des charges utiles. Dans le menu déroulant Payload Format (Format de charge utile), sélectionnez l’une des options suivantes :
      • JSON (par défaut)
      • PJSON
    6. Vous pouvez également utiliser le paramètre Active (Actif) pour activer ou désactiver les rappels lorsque le webhook est déclenché. Pour les activer, sélectionnez True (Vrai). Pour les désactiver, sélectionnez False (Faux).

      Les rappels sont activés par défaut.

  4. Une fois les paramètres ci-dessus configurés, cliquez sur Create (Créer) pour soumettre la requête.

    Une fois l’opération terminée, un nouveau webhook est appliqué au service de géotraitement spécifique.

Remarque :
Contrairement aux webhooks d’organisation et de service d’entités, les webhooks de service de géotraitement n’ont pas de déclencheurs d’événement définis par l’utilisateur. Les webhooks de service de géotraitement livrent les charges utiles une fois qu’une tâche de géotraitement est exécutée. Pour en savoir plus sur les charges utiles livrées pour les services de géotraitement, voir Charges utiles.

Créer un webhook de service d’entités

Les webhooks de service d’entités vous permettent de vous abonner à des déclencheurs d’événements spécifiques associés à des services d’entités.

Remarque :

Les webhooks de service d’entités ne peuvent être créés qu’à partir du répertoire administrateur de ArcGIS Server. Pour voir un exemple de requête POST qui crée un webhook de service d’entités, reportez-vous à la rubrique Créer un webhook de la documentation de l’API REST.

Pour créer un webhook pour un service d’entités, procédez comme suit :

  1. Accédez au répertoire administrateur de ArcGIS Enterprise et connectez-vous en tant que membre doté des privilèges appropriés.
    Les webhooks ne peuvent être créés et gérés que par des membres dotés du privilège Couche d’entités, du rôle d’administrateur par défaut ou du rôle d’éditeur.
    https://organization.domain.com/context/admin
    
  2. Une fois connecté, accédez à la ressource Webhooks d’un service d’entités en cliquant sur Services > [ServiceName] > Webhooks > Create (Créer), où [ServiceName] représente le service pour lequel le webhook est créé. Dans le cas de services hébergés dans des dossiers spécifiques, cliquez sur Services > [FolderName] > [ServiceName] > Webhooks > Create (Créer), où [FolderName] représente le dossier dans lequel se trouve le service.
    Attention :

    Vous pouvez configurer des webhooks pour un service d’entités uniquement si ce dernier inclut la fonctionnalité de mise à jour et bénéficie du suivi des modifications sans la synchronisation.

  3. Au niveau de l’extrémité Create Webhook (Créer un webhook), indiquez les informations suivantes :
    1. Spécifiez un nom unique pour le webhook dans la zone de texte Name (Nom). Le nom fourni doit être composé uniquement de valeurs alphanumériques, car les caractères spéciaux génèrent un message d’erreur.
    2. Répertoriez les déclencheurs d’événement qui seront utilisés par ce webhook dans la zone de texte Change Type (Type de modification). Par exemple, pour appeler le webhook lorsqu’un service d’entités est créé, utilisez le déclencheur d’événement suivant :

      Exemple

      FeaturesCreated
      
      Pour afficher la liste des déclencheurs d’événement pris en charge pour les webhooks de service d’entités, voir Déclencheurs d’événement.
    3. Vous pouvez également définir un secret pour le webhook qui peut être utilisé pour authentifier les messages du webhook auprès du récepteur. Saisissez la chaîne alphanumérique définie par l’utilisateur dans la zone de texte Signature Key (Clé de signature).
    4. IIndiquez l’URL de charge utile du récepteur de webhook dans la zone de texte Hook URL (URL de charge utile), qui sera interrogée à la création du webhook ; cela permet de garantir l’établissement d’une connexion entre le récepteur et l’instance ArcGIS Server du déploiement. Voici un exemple de charge utile :
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    5. Vous pouvez également indiquer le type de support. Dans le menu déroulant Content Type (Type de contenu), sélectionnez l’une des options suivantes :
      • application/json (par défaut)
      • application/x-www-form-urlencoded
    6. Vous pouvez également définir le format des charges utiles. Dans le menu déroulant Payload Format (Format de charge utile), sélectionnez l’une des options suivantes :
      • JSON (par défaut)
      • PJSON
    7. Vous pouvez également utiliser le paramètre Active (Actif) pour activer ou désactiver les rappels lorsque le webhook est déclenché. Pour les activer, sélectionnez True (Vrai). Pour les désactiver, sélectionnez False (Faux).

      Les rappels sont activés par défaut.

    8. Ajustez la planification des webhooks en modifiant les informations Seconds (Secondes) dans la zone de texte Schedule (Planifier). Dans le cas de services d’entités fréquemment mis à jour, diminuez la valeur de Seconds (Secondes) pour recevoir des webhooks plus fréquents, mais avec moins d’informations d’événement dans la charge utile. Dans le cas de services d’entités qui ne sont pas modifiés fréquemment, augmentez la valeur de la propriété Seconds (Secondes) pour recevoir des webhooks moins fréquents, mais avec davantage d’informations dans la charge utile.

      La valeur minimale et par défaut de la planification est de 20 secondes.

  4. Une fois les paramètres ci-dessus configurés, cliquez sur Create (Créer) pour soumettre la requête.

    Une fois l’opération terminée, un nouveau webhook est appliqué au service d’entités spécifique.