Webhooks

Un webhook est un appel HTTP déclenché par un événement. Vous pouvez utiliser des webhooks pour activer les modules de déclenchement instantanés. Toute application connectée à Internet et autorisant des requêtes HTTP peut envoyer des webhooks à Adobe Workfront Fusion.

Conditions d’accès

Vous devez disposer des accès suivants pour utiliser les fonctionnalités de cet article :

Adobe Workfront formule*
Pro ou version supérieure
Adobe Workfront licence*
Plan, Work
Adobe Workfront Fusion licence**

Exigences de licence actuelles : aucune exigence de licence Workfront Fusion requise.

Ou

Exigences de licence héritées : Workfront Fusion for Work Automation and Integration

Produit

Conditions requises du produit actuel : si vous disposez de la formule Adobe Workfront Select ou Prime, votre entreprise doit acheter Adobe Workfront Fusion ainsi que Adobe Workfront pour utiliser la fonctionnalité décrite dans cet article. Workfront Fusion est inclus dans la formule Workfront Ultimate.

Ou

Exigence du produit hérité : votre organisation doit acheter Adobe Workfront Fusion ainsi qu’Adobe Workfront pour utiliser les fonctionnalités décrites dans cet article.

*Pour connaître le plan, le type de licence ou l’accès dont vous disposez, contactez votre administrateur ou administratrice Workfront.

**Pour plus d’informations sur les licences Adobe Workfront Fusion, consultez la section Adobe Workfront Fusion Licences.

Utiliser un webhook dans Workfront Fusion

NOTE
Pour appeler un webhook tiers (un webhook sortant), vous pouvez utiliser un module HTTP. Pour plus d’informations, consultez la section Modules HTTP.

Pour utiliser un webhook pour connecter une application à Workfront Fusion, procédez comme suit :

  1. Ajoutez le module de déclenchement instantané Webhooks >Webhook personnalisé à votre scénario.

  2. Cliquez sur Ajouter en regard du champ Webhook et donnez un nom au nouveau webhook.

  3. (Facultatif) Cliquez sur Paramètres avancés.

  4. Dans le champ Restrictions d’IP, saisissez une liste séparée par des virgules des adresses IP à partir desquelles le module peut accepter les données.

  5. Cliquez sur Enregistrer.

Une fois que vous avez créé un webhook, une URL unique s’affiche. Il s’agit de l’adresse à laquelle le webhook envoie des données. Workfront Fusion valide les données envoyées à cette adresse, puis les transmet pour traitement dans le scénario.

NOTE
Une fois que vous avez créé un webhook, vous pouvez l’utiliser dans plusieurs scénarios à la fois.

Configurer la structure de données du webhook configure-the-webhook-s-data-structure

Afin de reconnaître la structure de données du payload entrant, Workfront Fusion analyse les données d’exemple que vous envoyez à l’adresse affichée. Vous pouvez fournir les données d’exemples en effectuant une modification dans le service ou l’application qui fera que ce service ou cette application appellera le webhook. Vous pouvez par exemple supprimer un fichier.

Vous pouvez également suivre les étapes ci-dessous pour envoyer les données d’exemple via le module HTTP > Effectuer une requête.

  1. Créez un scénario à l’aide du module HTTP > Effectuer une requête.

  2. Configurez le module avec les valeurs suivantes :

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header
    URL Saisissez l’URL du webhook. Vous la trouverez dans le module Webhooks que vous avez utilisé pour configurer le webhook.
    Method POST
    Body type Raw
    Content type JSON (application/json)
    Request content JSON brut attendu dans le webhook

  3. Ouvrez le scénario à l’aide du module Webhooks dans un onglet ou une fenêtre de navigateur distinct.

  4. Dans le module Webhooks, cliquez sur Redéfinir la structure de données.

    Il n’est pas nécessaire de dissocier d’autres modules du module Webhooks.

  5. Basculez vers le scénario avec le module HTTP et exécutez-le.

  6. Revenez au scénario avec le module Webhooks.

    Le message « Déterminée avec succès » signifie que le module a déterminé la structure de données avec succès.

  7. Cliquez sur OK pour enregistrer la structure de données.

    Les éléments du webhook sont désormais disponibles dans le panneau de mappage pour une utilisation avec les modules suivants du scénario.

File d’attente du webhook

Si un webhook reçoit des données et qu’aucun scénario actif n’attend ces données, les données sont stockées dans la file d’attente. Une fois le scénario activé, il traite tous les lots en attente dans la file d’attente de manière séquentielle.

IMPORTANT
Les files d’attente de webhook sont partagées entre les scénarios qui utilisent le même webhook. Si l’un des scénarios est désactivé, toutes les données entrantes sont conservées dans la file d’attente.

Formats de données entrantes pris en charge

Workfront Fusion prend en charge 3 formats de données entrantes : Chaîne de requête, Données de formulaire et JSON.

Workfront Fusion valide toutes les données entrantes par rapport à la structure de données sélectionnée. Ensuite, en fonction des paramètres du scénario, les données sont soit stockées dans la file d’attente pour traitement, soit traitées immédiatement.

Si une partie des données n’est pas validée, Workfront Fusion renvoie un code d’état HTTP 400 et spécifie, dans le corps de la réponse HTTP, la raison pour laquelle les données entrantes n’ont pas réussi les contrôles de validation. Si la validation des données entrantes réussit, Workfront Fusion renvoie un statut « 200 Accepté ».

Chaîne de requête

GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate

Données de formulaire

POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>

Content-Type: application/x-www-form-urlencoded

name=<yourname>&job=automate

Données de formulaire à plusieurs parties

POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>


Content-Type: multipart/form-data; boundary=---generatedboundary

---generatedboundary

Content-Disposition: form-data; name="file"; filename="file.txt"


Content-Type: text/plain


Content of file.txt


---generatedboundary

Content-Disposition: form-data; name="name"

Workfront Fusion

---generatedboundary

Pour pouvoir recevoir des fichiers codés avec multipart/form-data, vous devez configurer une structure de données avec un champ de type collection contenant les champs imbriqués name, mime et data. Le champ name est de type text et contient le nom du fichier chargé. Le champ mime est de type text et contient un fichier au format MIME. Le champ data est de type buffer et contient des données binaires pour le fichier transféré.

Pour plus d’informations sur le format MIME, voir Modules MIME.

JSON

POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>

Content-Type: application/json

{"name": "Workfront Fusion", "job": "automate"}
TIP
Si vous souhaitez accéder au JSON d’origine, activez la transmission JSON lors de la configuration du webhook.
  1. Cliquez sur Ajouter pour ajouter un nouveau webhook.
  2. Cliquez sur Afficher les paramètres avancés.
  3. Cliquez sur Transmission JSON.

En-têtes de webhook

Pour accéder aux en-têtes du webhook, activez l’option Obtenir les en-têtes de requête lors de la configuration du webhook.

  1. Cliquez sur Ajouter pour ajouter un nouveau webhook.
  2. Cliquez sur Afficher les paramètres avancés.
  3. Cliquez sur Obtenir les en-têtes de requête.

Vous pouvez extraire une valeur d’en-tête spécifique avec la combinaison des fonctions map() et get().

INFO
Exemple :
L’exemple ci-dessous illustre une formule qui extrait la valeur de l’en-tête authorization du tableau Headers[]. La formule est utilisée dans un filtre qui compare la valeur extraite au texte donné pour ne transmettre que les webhooks en cas de correspondance.
Pour plus d’informations sur l’obtention de l’élément d’un tableau avec une clé donnée, voir Mapper l’élément d’un tableau avec une clé donnée dans l’article Mapper des informations d’un module à un autre dans Adobe Workfront Fusion.

Répondre aux webhooks

La réponse par défaut à un appel de webhook est le texte « Accepté ». La réponse est renvoyée à l’application qui a appelé le webhook lors de l’exécution du module webhook personnalisé.

Tester la réponse à un webhook

  1. Incluez le module Webhook personnalisé dans votre scénario.

  2. Ajoutez un nouveau webhook au module.

  3. Copiez l’URL du webhook dans le presse-papiers.

  4. Exécutez le scénario.

    L’icône d’éclair sur le module Webhook personnalisé change en symbole de chargement. Cela indique que le module attend désormais l’appel de webhook.

  5. Ouvrez une nouvelle fenêtre de navigateur, collez l’URL copiée dans la barre d’adresse et appuyez sur Entrée.

    Le module Webhook personnalisé est déclenché et le navigateur affiche une nouvelle page.

Si vous souhaitez personnaliser la réponse du webhook, utilisez le module de réponse webhook.

La configuration du module contient deux champs : Statut et Corps.

  • Le champ Statut contient des codes de statut de réponse HTTP tels que 2xx pour Succès (par exemple, 200 pour OK), 3xx pour Redirection (par exemple, 307 pour Redirection temporaire), 4xx pour les Erreurs client (par exemple, 400 pour Demande incorrecte), etc.

  • Le champ Corps contient tout ce qui sera accepté par l’appel du webhook. Il peut s’agir de texte simple, de code HTML, de code XML, de code JSON, etc.

    note tip
    TIP
    Nous vous recommandons de définir l’en-tête Content-Type du type MIME correspondant : text/plain pour du texte brut, text/html pour HTML, application/json pour JSON, application/xml pour XML, etc. Pour plus d’informations sur les types MIME, voir Modules MIME.

Le délai de temporisation pour l’envoi d’une réponse est de 40 secondes. Si la réponse n’est pas disponible au cours de cette période, Workfront Fusion renvoie un statut « 200 Accepté ».

Exemple de réponse HTML

INFO
Exemple :
Configurez le module Réponse webhook comme suit :
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
Status Code de statut HTTP de succès 2xx (par exemple, 200)
Body Code HTML
Custom headers

>

  • > Clé  : type de contenu
  • > Valeur  : text/html >
Cette opération génère une réponse HTML qui s’affiche dans un navigateur web :

Exemple de redirection

INFO
Exemple : configurez le module Réponse webhook comme suit :
table 0-row-2 1-row-2 layout-auto html-authored no-header
Status Code d’état HTTP de redirection 3xx, par exemple 303
Custom headers

>

  • > Key  : emplacement
  • > Value  : URL vers laquelle vous souhaitez effectuer les redirections. >

Désactivation de webhook

Les webhooks sont désactivés automatiquement si l’une des conditions suivantes s’applique :

  • Le webhook n’a été connecté à aucun scénario depuis plus de 5 jours.
  • Le webhook est utilisé uniquement dans les scénarios inactifs, qui sont inactifs depuis plus de 30 jours.

Les webhooks désactivés sont supprimés et désinscrits automatiquement s’ils ne sont connectés à aucun scénario et s’ils sont restés désactivés pendant plus de 30 jours.

Dépannage

Éléments manquants dans le panneau de mappage

Si certains éléments sont manquants dans le panneau de mappage dans la configuration des modules suivant le module Webhooks > Webhook personnalisé, cliquez sur le bouton Webhooks > Webhook personnalisé pour ouvrir sa configuration, puis cliquez sur Rédéterminer la structure des données  :

Suivez ensuite les étapes décrites dans la section Configuration de la structure de données du webhook dans cet article.

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43