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

Espandi per visualizzare i requisiti di accesso per la funzionalità descritta in questo articolo.
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

NOTE
Per chiamare un webhook di terze parti (un webhook in uscita) utilizza uno dei moduli HTTP. Per ulteriori informazioni, vedere Moduli HTTP.

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.

  1. Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.

  2. Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.

  3. (Facoltativo) Fai clic su Impostazioni avanzate.

  4. Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.

  5. (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.com o https://*.example.com
  6. 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.

  7. Nel campo Tipo di autorizzazione, selezionare Certificato client.

  8. Nel campo Credenziali selezionare le credenziali da utilizzare per l’autorizzazione o aggiungere nuove credenziali.

  9. (Condizionale) Per aggiungere le credenziali:

    1. Fai clic su Aggiungi

    2. Immetti un nome per la nuova chiave di credenziali

    3. Incolla il certificato nel campo Certificato.

    4. 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.
    5. Fai clic su Crea una chiave.

    6. Nel pannello webhook, seleziona la nuova chiave nel campo Credenziali.

  10. Se necessario, abilita altre impostazioni.

  11. 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.

NOTE
Dopo aver creato un webhook, puoi utilizzarlo in più scenari alla volta.

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.

  1. Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.

  2. Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.

  3. (Facoltativo) Fai clic su Impostazioni avanzate.

  4. Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.

  5. (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.com o https://*.example.com
  6. 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.

  7. Nel campo Tipo di autorizzazione, selezionare Autenticazione di base.

  8. 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.

  9. Se necessario, abilita altre impostazioni.

  10. 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.

NOTE
Dopo aver creato un webhook, puoi utilizzarlo in più scenari alla volta.

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.

  1. Aggiungi il modulo di trigger istantaneo Webhook > Webhook personalizzato allo scenario.

  2. Fai clic su Aggiungi accanto al campo Webhook e immetti un nome per il nuovo webhook.

  3. (Facoltativo) Fai clic su Impostazioni avanzate.

  4. Nel campo Restrizioni IP, inserisci un elenco separato da virgole degli indirizzi IP da cui il modulo può accettare i dati.

  5. (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.com o https://*.example.com
  6. 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.

  7. Nel campo Tipo di autorizzazione, seleziona Adobe IMS (Bearer Token in authorization header).

  8. (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.

  9. (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.

  10. (Facoltativo) Nel campo Ambiti richiesti, inserisci un elenco separato da virgole di ambiti che devono essere presenti nell’attestazione scope del token. Lascia vuoto questo campo per saltare la verifica dell’ambito.

  11. Se necessario, abilita altre impostazioni.

  12. 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.

NOTE
Dopo aver creato un webhook, puoi utilizzarlo in più scenari alla volta.

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:

  1. Crea un nuovo scenario con il modulo HTTP > Invia una richiesta

  2. 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

    Configurazione nuovo scenario

  3. Apri lo scenario con il modulo Webhooks in una scheda o finestra del browser separata.

  4. Nel modulo webhooks fare clic su Ridetermina la struttura dati.

    Non è necessario scollegare altri moduli dal modulo webhooks.

  5. Passa allo scenario con il modulo HTTP ed eseguilo.

  6. Torna allo scenario con il modulo Webhooks.

    Un messaggio “correttamente determinato” indica che il modulo ha determinato correttamente la struttura dati.

    Determinato correttamente

  7. 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.

IMPORTANT
Le code dei webhook sono condivise tra scenari che utilizzano lo stesso webhook. Se uno degli scenari è disattivato, tutti i dati in arrivo vengono mantenuti 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"}
TIP
Se desideri accedere al JSON originale, abilita il pass-through JSON durante la configurazione del webhook.
  1. Fai clic su Aggiungi per aggiungere un nuovo webhook.
  2. Fare clic su Mostra impostazioni avanzate.
  3. Fare clic su pass-through JSON.

Intestazioni webhook

Per accedere alle intestazioni del webhook, abilita Ottieni intestazioni di richiesta durante la configurazione del webhook.

  1. Fai clic su Aggiungi per aggiungere un nuovo webhook.
  2. Fare clic su Mostra impostazioni avanzate.
  3. Fai clic su Ottieni intestazioni richiesta.

È possibile estrarre un particolare valore di intestazione con la combinazione di map() e get() funzioni.

INFO
Esempio:
L'esempio seguente mostra una formula che estrae il valore dell'intestazione 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.
Configura un filtro
Per ulteriori informazioni su come ottenere l'elemento di un array con una chiave specificata, vedere Mappare l'elemento di un array con una chiave specificata nell'articolo Mappare un array.

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

  1. Includi il modulo Webhook personalizzato nello scenario.

  2. Aggiungi un nuovo webhook al modulo.

  3. Copia l’URL del webhook negli Appunti.

  4. 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.

  5. 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 5 minuti. Se la risposta non è disponibile entro tale periodo, Workfront Fusion restituisce lo stato “200 Accepted” (Accettato).

Esempio di risposta HTML

INFO
Esempio:
Configura il modulo Risposta webhook come segue:
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

>

  • > Chiave: tipo di contenuto
  • > Valore: text/html >
Intestazioni personalizzate
Verrà generata una risposta di HTML che verrà visualizzata in un browser Web:
Risposta HEML

Esempio di reindirizzamento

INFO
Esempio: Configura il modulo Risposta webhook come segue:
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

>

  • > Key: Location
  • > Value: l'URL a cui si desidera reindirizzare. >
Risposta webhook

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:

Rideterminazione struttura dati

Segui quindi i passaggi descritti nella sezione Configurare la struttura dati del webhook in questo articolo.

recommendation-more-help
workfront-fusion-help-workfront-fusion