S’applique à
Référence des webhooks entrants
Qui peut l’utiliser ?
Forfaits :
- Bridge by Smartsheet
Demande de flux de travail
Avec l’URL de demande de webhook, vous pouvez créer une requête POST pour lancer un flux de travail Bridge. Vous pouvez utiliser le corps de requête suivant :
{
« flux de travail » : « nom du flux de travail ou UUID »,
« stateValues » :{
« statename » : « value »
},
« uid » : « un identifiant unique généré pour la demande »,
« extra_trucs » :{
« lots » : « of it »
}
}
- workflow (flux de travail) : seul champ obligatoire ; doit correspondre à un nom de flux de travail ou une valeur UUID valide.
- stateValues (valeursÉtat) : champ facultatif utilisé pour prédéfinir les états du flux de travail avec la valeur spécifiée.
- uid : identifiant unique (uid) utilisé pour que notre système ignore les demandes en double si vous envoyez la même plusieurs fois.
- Tous les autres champs envoyés dans le corps de la requête POST :
- Transmis au flux de travail et référencé à l’aide des handlebars de runtime, par exemple {{runtime.extra_stuff.lots}} (retour inclus).
- Toute valeur JSON valide sera transmise.
N’oubliez pas que toutes les demandes adressées à ce point de terminaison nécessitent l’en-tête Inbound-Webhook-Secret (Clé-Secrète-Webhook-Entrant) à définir avec vos valeurs Secret (Clé secrète).
Cette solution ne prend pas en charge les webhooks, qui comprennent une demande d’identification. Cela nécessite de créer une nouvelle intégration personnalisée.
Demandes par lots de flux de travail
Si vous souhaitez exécuter plusieurs flux de travail avec une seule demande, vous pouvez transmettre un objet de traitement par lots dans le corps de la demande :
{
« flux de travail » : « nom du flux de travail ou UUID »,
« lot » :[
{
« uid » : « request1 »,
« flux de travail » : « flux de travail alternatif »,
"stateValues":{
« state » : « value »
},
« runtimeData » :{
« clé » : « valeur »
}
},
{
« uid » : « request2 »,
"stateValues":{
« state » : « value »
}
}
]
}
Remarques
L’objet de demande de traitement par lots utilise les mêmes champs que la demande principale, à la différence du champ supplémentaire runtimeData (donnéesRuntime), utilisé pour définir les données disponibles pour la référence handlebar {{runtime}} dans le flux de travail.
- Si vous ne spécifiez pas de flux de travail ou de valeurs d’état dans votre objet de demande de traitement par lots, les valeurs définies dans l’objet parent sont utilisées à la place. Dans l’exemple ci-dessus, les deux flux de travail exécutent request1 (demande1) avec le second flux de travail, et request1 (demande2) avec le flux de travail initial.
- Si vous souhaitez remplacer les valeurs parent par une valeur vide, définissez un objet vide pour stateValues (valeursÉtat). Les valeurs non définies sont traitées comme non configurées et la valeur parent est utilisée. Si le champ uid de l’objet parent est ignoré lorsque vous utilisez des demandes par lots, chaque objet de traitement par lots peut définir son propre uid, le cas échéant.
- Même si chaque objet de traitement par lots définit son propre flux de travail, le flux de travail de la demande principale reste obligatoire.