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

Développez pour afficher les exigences d’accès aux fonctionnalités de cet article.

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

table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header
Package Adobe Workfront Tous
Licence Adobe Workfront

Nouveau : Standard

Ou

En cours : Travail ou version ultérieure

Licence Adobe Workfront Fusion **

Actuel : aucune exigence de licence Workfront Fusion

Ou

Hérité : Workfront Fusion pour l’automatisation et l’intégration du travail

Produit

Nouveau :

  • Sélectionnez ou le package Prime Workfront : votre entreprise doit acheter Adobe Workfront Fusion.
  • Package Ultimate Workfront : Workfront Fusion est inclus.

Ou

Actuel : votre entreprise doit acheter Adobe Workfront Fusion.

Pour plus d’informations sur les informations contenues dans ce tableau, voir Conditions d’accès requises dans la documentation.

Pour plus d’informations sur les licences Adobe Workfront Fusion, voir Licences Adobe Workfront Fusion.

Utilisation d’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 afin de connecter une application à Workfront Fusion :

  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

Pour reconnaître la structure des données de la payload entrante, Workfront Fusion analyse les exemples de données 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 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

    Nouvelle configuration de scénario

  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.

    Déterminé 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.

La file d’attente 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 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, 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 ne réussit pas la validation, 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.
Configurer un filtre
Pour plus d’informations sur l’obtention d’un élément d’un tableau avec une clé donnée, consultez Mappage d’un élément d’un tableau avec une clé donnée dans l’article Mappage d’un tableau.

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 >
En-têtes personnalisés
Cette opération génère une réponse HTML qui s’affiche dans un navigateur web :
Réponse HEML

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. >
Réponse du Webhook

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  :

Redé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
7e1891ad-4d59-4355-88ab-a2e62ed7d1a3