Webhook
Un webhook è una chiamata HTTP attivata da un evento. Puoi utilizzare i webhook per attivare moduli di attivazione istantanea. Qualsiasi applicazione connessa a Internet e che consenta le richieste HTTP può inviare webhook ad Adobe Workfront Fusion.
Requisiti di accesso
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| Pacchetto Adobe Workfront |
Qualsiasi pacchetto Workflow di Adobe Workfront, e qualsiasi pacchetto Automation and Integration di Adobe Workfront. Workfront Ultimate Pacchetti Workfront Prime e Select, con un ulteriore acquisto di Workfront Fusion. |
| Licenze Adobe Workfront |
Standard Work o successiva |
| Licenza di Adobe Workfront Fusion |
Basata sulle operazioni: nessun requisito di licenza Workfront Fusion Basata su connettore (precedente): Workfront Fusion for Work Automation and Integration |
| Prodotto | Se la tua organizzazione dispone di un pacchetto Workfront Select o Prime che non include Workfront Automation and Integration, dovrà acquistare Adobe Workfront Fusion. |
Per ulteriori dettagli sulle informazioni contenute in questa tabella, consulta Requisiti di accesso nella documentazione.
Per informazioni sulle licenze di Adobe Workfront Fusion, consulta Licenze di Adobe Workfront Fusion.
Utilizzare un webhook in Workfront Fusion
Per utilizzare un webhook per collegare un’app a Workfront Fusion, puoi impostarlo per l’autenticazione utilizzando un certificato client (mTLS), l’autenticazione di base o Adobe Identity Management System (IMS).
Utilizzare un webhook con un certificato client (mTLS)
Con mTLS, fornisci un certificato client e una chiave privata. Fusion utilizza il certificato e la chiave per autenticarsi nel servizio di destinazione quando chiama il webhook. Questa autenticazione bidirezionale consente al webhook di essere più sicuro dell’autenticazione di base.
Per ulteriori informazioni su mTLS, vedere Panoramica TLS reciproca nell’articolo Utilizzare mTLS nei moduli HTTP.
-
Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.
-
Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.
-
(Facoltativo) Fai clic su Impostazioni avanzate.
-
Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.
-
(Facoltativo) Nel campo Restrizioni origine, per ogni origine che si desidera consentire di chiamare questo webhook, fare clic su Aggiungi elemento e immettere il modello di origine. Se vuoi consentire qualsiasi origine, lascia vuoto questo campo.
Questo campo accetta i seguenti pattern:
- Nome host esatto:
app.example.com - Sottodominio con caratteri jolly:
*.example.com - Qualificato per lo schema:
https://app.example.comohttps://*.example.com
- Nome host esatto:
-
Per convalidare i dati in arrivo, nel campo Struttura dati selezionare o aggiungere la struttura dati che si desidera utilizzare.
Per informazioni sulle strutture dati, vedere Strutture dati.
-
Nel campo Tipo di autorizzazione, selezionare Certificato client.
-
Nel campo Credenziali selezionare le credenziali da utilizzare per l’autorizzazione o aggiungere nuove credenziali.
-
(Condizionale) Per aggiungere le credenziali:
-
Fai clic su Aggiungi
-
Immetti un nome per la nuova chiave di credenziali
-
Incolla il certificato nel campo Certificato.
-
Nel campo Chiave privata, incolla la chiave privata.
note tip TIP Se devi estrarre il certificato o la chiave privata da un file combinato, fai clic su Estrai accanto a quel campo, seleziona l'elemento da estrarre e specifica il file e la password. -
Fai clic su Crea una chiave.
-
Nel pannello webhook, seleziona la nuova chiave nel campo Credenziali.
-
-
Se necessario, abilita altre impostazioni.
-
Fai clic su Salva
Dopo aver creato un webhook, viene visualizzato un URL univoco. Questo è l’indirizzo a cui il webhook invia i dati. Workfront Fusion convalida i dati inviati a questo indirizzo, quindi li trasmette per l’elaborazione nello scenario.
Utilizzare un webhook con autenticazione di base
L’autenticazione di base utilizza un nome utente e una password per l’autenticazione nel servizio a cui ti stai connettendo.
-
Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.
-
Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.
-
(Facoltativo) Fai clic su Impostazioni avanzate.
-
Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.
-
(Facoltativo) Nel campo Restrizioni origine, per ogni origine che si desidera consentire di chiamare questo webhook, fare clic su Aggiungi elemento e immettere il modello di origine. Se vuoi consentire qualsiasi origine, lascia vuoto questo campo.
Questo campo accetta i seguenti pattern:
- Nome host esatto:
app.example.com - Sottodominio con caratteri jolly:
*.example.com - Qualificato per lo schema:
https://app.example.comohttps://*.example.com
- Nome host esatto:
-
Per convalidare i dati in arrivo, nel campo Struttura dati selezionare o aggiungere la struttura dati che si desidera utilizzare.
Per informazioni sulle strutture dati, vedere Strutture dati.
-
Nel campo Tipo di autorizzazione, selezionare Autenticazione di base.
-
Nel campo Credenziali immettere le credenziali da utilizzare per l’autorizzazione. Per immettere le credenziali, fare clic su Aggiungi e immettere nome utente e password per l’autenticazione di base.
-
Se necessario, abilita altre impostazioni.
-
Fai clic su Salva
Dopo aver creato un webhook, viene visualizzato un URL univoco. Questo è l’indirizzo a cui il webhook invia i dati. Workfront Fusion convalida i dati inviati a questo indirizzo, quindi li trasmette per l’elaborazione nello scenario.
Utilizzare un webhook con Adobe Identity Management System (IMS)
L’autenticazione IMS (Adobe Identity Management System) utilizza le credenziali Adobe IMS della tua organizzazione per l’autenticazione al servizio a cui ti stai connettendo.
-
Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.
-
Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.
-
(Facoltativo) Fai clic su Impostazioni avanzate.
-
Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.
-
(Facoltativo) Nel campo Restrizioni origine, per ogni origine che si desidera consentire di chiamare questo webhook, fare clic su Aggiungi elemento e immettere il modello di origine. Se vuoi consentire qualsiasi origine, lascia vuoto questo campo.
Questo campo accetta i seguenti pattern:
- Nome host esatto:
app.example.com - Sottodominio con caratteri jolly:
*.example.com - Qualificato per lo schema:
https://app.example.comohttps://*.example.com
- Nome host esatto:
-
Per convalidare i dati in arrivo, nel campo Struttura dati selezionare o aggiungere la struttura dati che si desidera utilizzare.
Per informazioni sulle strutture dati, vedere Strutture dati.
-
Nel campo Tipo di autorizzazione, seleziona Adobe IMS (Bearer Token in authorization header).
-
(Facoltativo) Nel campo Client consentiti, inserisci un elenco separato da virgole degli ID client autorizzati a chiamare questo webhook. Lascia vuota questa impostazione per accettare qualsiasi client il cui token sia validamente firmato dall’emittente e dal pubblico attendibili.
-
(Facoltativo) Nel campo Utenti consentiti, inserisci un elenco separato da virgole degli ID utente autorizzati a chiamare questo webhook. Lascia vuota questa impostazione per consentire l’accesso a qualsiasi utente.
-
(Facoltativo) Nel campo Ambiti richiesti, inserisci un elenco separato da virgole di ambiti che devono essere presenti nell’attestazione
scopedel token. Lascia vuoto questo campo per saltare la verifica dell’ambito. -
Se necessario, abilita altre impostazioni.
-
Fai clic su Salva
Dopo aver creato un webhook, viene visualizzato un URL univoco. Questo è l’indirizzo a cui il webhook invia i dati. Workfront Fusion convalida i dati inviati a questo indirizzo, quindi li trasmette per l’elaborazione nello scenario.
Configurare la struttura dati del webhook configure-the-webhook-s-data-structure
Per riconoscere la struttura dati del payload in ingresso, Workfront Fusion analizza i dati di esempio inviati all’indirizzo visualizzato. Puoi fornire i dati di esempio apportando una modifica al servizio o all’app che farà sì che il servizio o l’app chiamino il webhook. Ad esempio, puoi rimuovere un file.
In alternativa, puoi inviare i dati di esempio tramite il modulo HTTP > Invia una richiesta:
-
Crea un nuovo scenario con il modulo HTTP > Invia una richiesta
-
Configura il modulo con i seguenti valori:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header URL Immetti l’URL del webhook. È possibile trovare questo URL nel modulo Webhooks utilizzato per configurare il webhook. Metodo POST Tipo di corpo Raw Tipo di contenuto JSON (application/json) Contenuto richiesta JSON non elaborato previsto nel webhook
-
Apri lo scenario con il modulo Webhooks in una scheda o finestra del browser separata.
-
Nel modulo webhooks fare clic su Ridetermina la struttura dati.
Non è necessario scollegare altri moduli dal modulo webhooks.
-
Passa allo scenario con il modulo HTTP ed eseguilo.
-
Torna allo scenario con il modulo Webhooks.
Un messaggio “correttamente determinato” indica che il modulo ha determinato correttamente la struttura dati.
-
Fare clic su OK per salvare la struttura dati.
Gli elementi del webhook sono ora disponibili nel pannello di mappatura per l’utilizzo con i moduli successivi nello scenario.
Origini consentite/CORS
Quando crei o modifichi un webhook personalizzato in Fusion, il campo Origini consentite consente di limitare le origini del browser (siti web) autorizzati a chiamare l’endpoint del webhook direttamente da JavaScript lato client, ad esempio fetch/XHR. Questo è un controllo CORS (Cross-Origin Resource Sharing), un limite separato dalle restrizioni IP e dal tipo di autorizzazione (autenticazione di base / certificato client / Adobe IMS).
La coda del webhook
Se un webhook riceve dati e non esiste uno scenario attivo che preveda tali dati, questi vengono memorizzati nella coda. Una volta attivato lo scenario, elabora in sequenza tutti i bundle in attesa nella coda.
Formati di dati in arrivo supportati
Workfront Fusion supporta 3 formati di dati in ingresso: Stringa query, Dati modulo e JSON.
Workfront Fusion convalida tutti i dati in arrivo in base alla struttura dati selezionata. Quindi, a seconda delle impostazioni dello scenario, i dati vengono memorizzati nella coda per l’elaborazione o vengono elaborati immediatamente.
Se una parte dei dati non supera la convalida, Workfront Fusion restituisce un codice di stato HTTP 400 e specifica, nel corpo della risposta HTTP, il motivo per cui i dati in arrivo non sono riusciti nei controlli di convalida. Se la convalida dei dati in arrivo viene eseguita correttamente, Workfront Fusion restituirà lo stato “200 Accepted”.
Stringa di query
GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate
Dati modulo
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/x-www-form-urlencoded
name=<yourname>&job=automate
Dati modulo multipart
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
Per ricevere i file codificati con multipart/form-data, è necessario configurare una struttura di dati con un campo di tipo collection contenente i campi nidificati name, mime e data. Il campo name è di tipo text e contiene il nome del file caricato. mime è un tipo text e contiene un file in formato MIME. Il campo data è di tipo buffer e contiene dati binari per il file da trasferire.
Per ulteriori informazioni sul formato MIME, vedere Moduli MIME.
JSON
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/json
{"name": "Workfront Fusion", "job": "automate"}
- Fai clic su Aggiungi per aggiungere un nuovo webhook.
- Fare clic su Mostra impostazioni avanzate.
- Fare clic su pass-through JSON.
Intestazioni webhook
Per accedere alle intestazioni del webhook, abilita Ottieni intestazioni di richiesta durante la configurazione del webhook.
- Fai clic su Aggiungi per aggiungere un nuovo webhook.
- Fare clic su Mostra impostazioni avanzate.
- Fai clic su Ottieni intestazioni richiesta.
È possibile estrarre un particolare valore di intestazione con la combinazione di map() e get() funzioni.
authorization dall'array Headers[]. La formula viene utilizzata in un filtro che confronta il valore estratto con il testo specificato per trasmettere solo i webhook in caso di corrispondenza.
Risposta ai webhook
La risposta predefinita a una chiamata al webhook è il testo “Accepted” (Accettato). La risposta viene restituita all’app che ha chiamato il webhook durante l’esecuzione del modulo Webhook personalizzato.
Verificare la risposta a un webhook
-
Includi il modulo Webhook personalizzato nello scenario.
-
Aggiungi un nuovo webhook al modulo.
-
Copia l’URL del webhook negli Appunti.
-
Esegui lo scenario.
L’icona del fulmine nel modulo Webhook personalizzato diventa un punto in rotazione. Questo mostra che il modulo è ora in attesa della chiamata del webhook.
-
Apri una nuova finestra del browser, incolla l’URL copiato nella barra degli indirizzi e premi Invio.
Il modulo Webhook personalizzato è attivato e nel browser verrà visualizzata una nuova pagina.
Se desideri personalizzare la risposta del webhook, utilizza il modulo Risposta del webhook.
La configurazione del modulo contiene due campi: Stato e Corpo.
-
Il campo Stato contiene codici di stato di risposta HTTP come 2xx per Completato (ad esempio,
200per OK), 3xx per Reindirizzamento (ad esempio,307per Reindirizzamento temporaneo), 4xx per Errori client (ad esempio,400per Richiesta non valida) e così via. -
Il campo Corpo contiene qualsiasi elemento che verrà accettato dalla chiamata del webhook. Può essere testo semplice, HTML, XML, JSON e così via.
note tip TIP È consigliabile impostare l'intestazione Content-Typesul tipo MIME corrispondente:text/plainper il testo normale,text/htmlper HTML,application/jsonper JSON,application/xmlper XML e così via. Per ulteriori informazioni sui tipi MIME, vedere Moduli MIME.
Il timeout per l’invio di una risposta è di 5 minuti. Se la risposta non è disponibile entro tale periodo, Workfront Fusion restituisce lo stato “200 Accepted” (Accettato).
Esempio di risposta HTML
| table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
|---|---|
| Stato | Codice di stato HTTP 2xx, ad esempio 200 |
| Corpo | Codice HTML |
| Intestazioni personalizzate |
>
|
Esempio di reindirizzamento
| table 0-row-2 1-row-2 layout-auto html-authored no-header | |
|---|---|
| Stato | Codice di stato HTTP del reindirizzamento 3xx, ad esempio 303 |
| Intestazioni personalizzate |
>
|
Disattivazione webhook
I webhook vengono disattivati automaticamente se è una delle seguenti condizioni è vera:
- Il webhook non è stato collegato a nessuno scenario da più di 5 giorni
- Il webhook viene utilizzato solo in scenari che rimangono inattivi per più di 30 giorni.
I webhook disattivati vengono eliminati e ne viene automaticamente annullata la registrazione se non connessi ad alcun scenario e se in stato di disattivazione da oltre 30 giorni.
Risoluzione dei problemi
Elementi mancanti nel pannello di mappatura
Se nel pannello di mappatura mancano alcuni elementi nella configurazione dei moduli che seguono il modulo Webhook > Webhook personalizzato, fai clic sul modulo Webhook > Webhook personalizzato per aprirne la configurazione e fai clic su Ridetermina la struttura dati:
Segui quindi i passaggi descritti nella sezione Configurare la struttura dati del webhook in questo articolo.