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 :
*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
Pour utiliser un webhook pour connecter une application à Workfront Fusion:
-
Ajoutez la variable Webhooks >Webhook personnalisé module de déclenchement instantané à votre scénario.
-
Cliquez sur Ajouter en regard du champ Webhook et saisissez le nom du nouveau webhook.
-
(Facultatif) Cliquez sur Paramètres avancés.
-
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.
-
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.
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 .
-
Créez un scénario avec le HTTP > Effectuer une requête module
-
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 -
Ouvrez le scénario à l’aide de la commande Webhooks dans un onglet ou une fenêtre de navigateur distinct.
-
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.
-
Basculez vers le scénario avec la méthode HTTP et exécutez-le.
-
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.
-
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.
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"}
- Cliquez sur Ajouter pour ajouter un nouveau webhook.
- Cliquez sur Afficher les paramètres avancés.
- 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.
- Cliquez sur Ajouter pour ajouter un nouveau webhook.
- Cliquez sur Afficher les paramètres avancés.
- 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.
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.![](./media_19c00f8fc112a80577c8c86c6266afbddded0c0fb.png?width=750&format=png&optimize=medium)
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
-
Inclure la variable 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.
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.
-
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
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 |
>
|
![](./media_1d61e5a53f6b451ba003c3341c8f1b97254929124.png?width=750&format=png&optimize=medium)
![](./media_18706152db0153d4e098de351c3b9b77da0c403af.png?width=750&format=png&optimize=medium)
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 |
En-têtes personnalisés |
>
|
![](./media_1fcda5a926af051ce508d0d8c22bdb44634a44a54.png?width=750&format=png&optimize=medium)
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.