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.

Exigences d’accès

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

Adobe Workfront plan*
Pro ou version ultérieure
Adobe Workfront license*
Plan, Work
Adobe Workfront Fusion license**

Exigences de licence actuelles : Non Workfront Fusion conditions requises pour obtenir une licence.

Ou

Exigences de licence héritées : Workfront Fusion pour l’automatisation et l’intégration du travail

Produit

Exigences actuelles du produit : Si vous disposez de Select ou Prime Adobe Workfront Planifiez, 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 l’Ultimate Workfront planifiez.

Ou

Exigences de produit héritées : Votre entreprise doit acheter Adobe Workfront Fusion ainsi que Adobe Workfront pour utiliser la fonctionnalité décrite dans cet article.

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

**Pour plus d’informations sur Adobe Workfront Fusion licences, voir Adobe Workfront Fusion licences

Utilisation d’un webhook dans Workfront Fusion

NOTE
Pour appeler un webhook tiers (un webhook sortant), utilisez l’un des modules HTTP . Pour plus d’informations, voir Modules HTTP.

Pour utiliser un webhook pour connecter une application à Workfront Fusion:

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

  2. Cliquez sur Ajouter en regard du champ Webhook et saisissez le nom du nouveau webhook.

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

  4. Dans le 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. Cliquer 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.

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

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

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

  1. Créez un scénario avec le HTTP > Effectuer une requête module

  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. Cette URL se trouve dans le module Webhooks que vous avez utilisé pour configurer le webhook.
    Méthode POST
    Type de corps Raw
    Type de contenu JSON (application/json)
    Demander du contenu Fichier JSON brut attendu dans le webhook

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

  4. Dans le module webhooks, cliquez sur Redéfinir la structure des données.

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

  5. Basculez vers le scénario avec la méthode HTTP et exécutez-le.

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

    Un "Déterminé" message signifie que le module a déterminé la structure des 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 dans le scénario.

File d'attente

Si un webhook reçoit des données et qu’il n’existe pas de scénario principal qui 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 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 entrants : 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, selon les 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 "200 acceptés".

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 recevoir des fichiers codés avec multipart/form-data, vous devez configurer une structure de données avec un collection champ de type contenant les champs imbriqués name, mime, et data. Le champ name est un text et contient le nom du fichier téléchargé. Le mime est un text saisissez et contient un fichier au format MIME. Le champ data est un buffer type 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 fichier 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 Diffusion JSON.

En-têtes 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 Obtention des en-têtes de requête.

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

INFO
Exemple:
L’exemple ci-dessous illustre une formule qui extrait la valeur de la variable authorization de l’en-tête Headers[] tableau. 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 Mise en correspondance de l’élément d’un tableau avec une clé donnée dans l’article Mappage des informations d’un module à un autre dans Adobe Workfront Fusion.

Réponse aux webhooks

La réponse par défaut à un appel webhook est le texte "Accepted". La réponse est renvoyée à l’application qui a appelé le webhook lors de l’exécution du module Custom Webhook.

Test de la réponse à un webhook

  1. Inclure la variable 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.

    Icône d’éclair sur la Webhook personnalisé change de module en points de rotation. Cela indique que le module attend désormais l’appel 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 Webhook personnalisé est déclenché et le navigateur affiche une nouvelle page.

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

La configuration du module contient deux champs : État et Corps.

  • Le État contient des codes d’état de réponse HTTP tels que 2xx pour succès (par exemple, 200 pour OK), 3xx pour Redirection (par exemple, 307 pour la redirection temporaire), 4xx pour les erreurs client (par exemple, 400 pour la demande incorrecte), etc.

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

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

Le délai d’expiration 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 état "200 Accepted".

Exemple de réponse HTML

INFO
Exemple:
Configurez la variable Réponse Webhook module comme suit :
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header
Status Code d’état HTTP de réussite 2xx, par exemple 200
Body Code HTML
En-têtes personnalisés

>

  • > Clé: Content-type
  • > Valeur: text/html >
Cela génère une réponse de HTML qui s’affiche dans un navigateur web :

Exemple de redirection

INFO
Exemple : Configurez la variable Réponse Webhook module 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
En-têtes personnalisés

>

  • > Key: Emplacement
  • > Value: L’URL vers laquelle vous souhaitez rediriger les visiteurs. >

Désactivation de Webhook

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

  • Le webhook n’est 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ésenregistrés automatiquement s’ils ne sont connectés à aucun scénario et sont désactivés depuis 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 la 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