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 :
*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
Pour utiliser un webhook pour connecter une application à Workfront Fusion, procédez comme suit :
-
Ajoutez le module de déclenchement instantané Webhooks >Webhook personnalisé à votre scénario.
-
Cliquez sur Ajouter en regard du champ Webhook et donnez un nom au nouveau webhook.
-
(Facultatif) Cliquez sur Paramètres avancés.
-
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.
-
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.
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.
-
Créez un scénario à l’aide du module HTTP > Effectuer une requête.
-
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 -
Ouvrez le scénario à l’aide du module Webhooks dans un onglet ou une fenêtre de navigateur distinct.
-
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.
-
Basculez vers le scénario avec le module HTTP et exécutez-le.
-
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.
-
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.
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"}
- Cliquez sur Ajouter pour ajouter un nouveau webhook.
- Cliquez sur Afficher les paramètres avancés.
- 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.
- Cliquez sur Ajouter pour ajouter un nouveau webhook.
- Cliquez sur Afficher les paramètres avancés.
- 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()
.
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.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
-
Incluez le module Webhook personnalisé dans votre scénario.
-
Ajoutez un nouveau webhook au module.
-
Copiez l’URL du webhook dans le presse-papiers.
-
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.
-
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
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 |
>
|
Exemple de redirection
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 |
>
|
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.