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
Per utilizzare le funzionalità di questo articolo, è necessario disporre dei seguenti diritti di accesso:
*Per conoscere il piano, il tipo di licenza o l'accesso di cui si dispone, contattare l'amministratore di Workfront.
**Per informazioni sulle Adobe Workfront Fusion licenze, vedere Adobe Workfront Fusion licenze
Utilizza un webhook in Workfront Fusion
Per utilizzare un webhook per connettere un'app a Workfront Fusion:
-
Aggiungi il modulo di attivazione immediata 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.
-
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.
Oppure puoi seguire i passaggi seguenti per inviare i dati di esempio tramite il modulo HTTP > Fai 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. Method 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.
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 qualsiasi 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 hanno superato i 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,
200
per OK), 3xx per Reindirizzamento (ad esempio,307
per Reindirizzamento temporaneo), 4xx per Errori client (ad esempio,400
per 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-Type
sul tipo MIME corrispondente:text/plain
per il testo normale,text/html
per HTML,application/json
per JSON,application/xml
per XML e così via. Per ulteriori informazioni sui tipi MIME, vedere Moduli MIME.
Il timeout per l’invio di una risposta è di 40 secondi. 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 |
Body | 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 si applica una delle seguenti condizioni:
- Il webhook non è stato connesso ad alcuno scenario per più di 5 giorni
- Il webhook viene utilizzato solo in scenari inattivi, che sono stati inattivi per più di 30 giorni.
I webhook disattivati vengono eliminati e annullati automaticamente se non sono connessi ad alcun scenario e se sono in stato disattivato 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.