Webhooks
Un webhook es una llamada HTTP que se activa por un evento. Puede utilizar webhooks para activar los módulos de déclencheur instantáneos. Cualquier aplicación que esté conectada a Internet y permita peticiones HTTP puede enviar webhooks a Adobe Workfront Fusion.
Requisitos de acceso
Debe tener el siguiente acceso para utilizar la funcionalidad de este artículo:
*Para saber qué plan, tipo de licencia o acceso tiene, póngase en contacto con el administrador de Workfront.
**Para obtener información sobre Adobe Workfront Fusion licencias, consulte Adobe Workfront Fusion licencias
Usar un webhook en Workfront Fusion
Para usar un webhook para conectar una aplicación a Workfront Fusion:
-
Agregue el módulo de déclencheur instantáneo Webhooks >Webhook personalizado a su escenario.
-
Haga clic en Agregar junto al campo Webhook e introduzca un nombre para el nuevo webhook.
-
(Opcional) Haga clic en Configuración avanzada.
-
En el campo Restricciones de IP, escriba una lista separada por comas de las direcciones IP desde las que el módulo puede aceptar datos.
-
Haga clic en Guardar
Después de crear un gancho web, aparece una dirección URL única. Dirección a la que el webhook envía los datos. Workfront Fusion valida los datos enviados a esta dirección y los pasa para su procesamiento en el escenario.
Configuración de la estructura de datos del gancho web configure-the-webhook-s-data-structure
Para reconocer la estructura de datos de la carga útil entrante, Workfront Fusion analiza los datos de ejemplo que envía a la dirección mostrada. Puede proporcionar los datos de ejemplo realizando un cambio en el servicio o la aplicación que hará que ese servicio o aplicación llame al webhook. Por ejemplo, puede quitar un archivo.
O puede seguir los pasos a continuación para enviar los datos de ejemplo a través del módulo HTTP > Realizar una solicitud.
-
Cree un nuevo escenario con el módulo HTTP > Realizar una solicitud
-
Configure el módulo con los siguientes valores:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header URL Introduzca la URL del webhook. Puede encontrar esta URL en el módulo de Webhooks que ha utilizado para configurar el webhook. Método POST Tipo de cuerpo Raw Tipo de contenido JSON (application/json) Solicitar contenido Se esperaba un JSON sin procesar en el webhook -
Abra el escenario con el módulo Webhooks en una pestaña o ventana separada del explorador.
-
En el módulo de webhooks, haga clic en Volver a determinar la estructura de datos.
No es necesario desenlazar otros módulos del módulo de webhooks.
-
Cambie al escenario con el módulo HTTP y ejecútelo.
-
Vuelva al escenario con el módulo Webhooks.
Un mensaje "Determinado correctamente" significa que el módulo ha determinado correctamente la estructura de datos.
-
Haga clic en Aceptar para guardar la estructura de datos.
Los elementos del gancho web ahora están disponibles en el panel de asignación para su uso con módulos posteriores en el escenario.
Cola
Si un gancho web recibe datos y no hay un escenario activo que espere esos datos, los datos se almacenan en la cola. Una vez activado el escenario, se procesan secuencialmente todos los paquetes que esperan en la cola.
Formatos de datos entrantes admitidos
Workfront Fusion admite 3 formatos de datos entrantes: Cadena de consulta, Datos de formulario y JSON.
Workfront Fusion valida todos los datos entrantes con respecto a la estructura de datos seleccionada. A continuación, según la configuración del escenario, los datos se almacenan en la cola para su procesamiento o se procesan inmediatamente.
Si alguna parte de los datos no pasa la validación, Workfront Fusion devuelve un código de estado HTTP 400 y especifica, en el cuerpo de la respuesta HTTP, el motivo por el que los datos entrantes no superaron las comprobaciones de validación. Si la validación de los datos entrantes se realiza correctamente, Workfront Fusion devuelve el estado "200 Accepted".
Cadena de consulta
GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate
Datos de formulario
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/x-www-form-urlencoded
name=<yourname>&job=automate
Datos de formulario multiparte
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
Para recibir archivos codificados con multipart/form-data
, debe configurar una estructura de datos con un campo de tipo collection
que contenga los campos anidados name
, mime
y data
. El campo name
es un tipo text
y contiene el nombre del archivo cargado. mime
es un tipo text
y contiene un archivo en formato MIME. El campo data
es un tipo buffer
y contiene datos binarios para el archivo que se está transfiriendo.
Para obtener más información sobre el formato MIME, consulte Módulos MIME.
JSON
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/json
{"name": "Workfront Fusion", "job": "automate"}
- Haga clic en Agregar para agregar un nuevo enlace web.
- Haga clic en Mostrar configuración avanzada.
- Haga clic en paso JSON.
Encabezados de webhook
Para acceder a los encabezados del webhook, habilite Obtener encabezados de solicitud al configurar el webhook.
- Haga clic en Agregar para agregar un nuevo enlace web.
- Haga clic en Mostrar configuración avanzada.
- Haga clic en Obtener encabezados de solicitud.
Puede extraer un valor de encabezado determinado con la combinación de las funciones map()
y get()
.
authorization
de la matriz Headers[]
. La fórmula se utiliza en un filtro que compara el valor extraído con el texto dado para pasar solo webhooks si hay una coincidencia.![](./media_19c00f8fc112a80577c8c86c6266afbddded0c0fb.png?width=750&format=png&optimize=medium)
Respuesta a los webhooks
La respuesta predeterminada a una llamada de webhook es el texto "Aceptado". La respuesta se devuelve a la aplicación que llamó al webhook durante la ejecución del módulo Webhook personalizado.
Prueba de la respuesta a un webhook
-
Incluya el módulo Webhook personalizado en su escenario.
-
Agregue un nuevo webhook al módulo.
-
Copie la URL del webhook en el portapapeles.
-
Ejecute el escenario.
El icono del rayo en el módulo Gancho web personalizado cambia a puntos giratorios. Esto muestra que el módulo está esperando la llamada del webhook.
-
Abra una nueva ventana del explorador, pegue la dirección URL copiada en la barra de direcciones y presione Intro.
El módulo Webhook personalizado se activará y el explorador mostrará una nueva página.
Si desea personalizar la respuesta del webhook, emplee el módulo Respuesta de webhook.
La configuración del módulo contiene dos campos: Estado y Cuerpo.
-
El campo Estado contiene códigos de estado de respuesta HTTP como 2xx para Correcto (por ejemplo,
200
para Correcto), 3xx para Redireccionamiento (por ejemplo,307
para Redireccionamiento temporal), 4xx para Errores del cliente (por ejemplo,400
para Solicitud incorrecta), etc. -
El campo Cuerpo contiene todo lo que sea aceptado por la llamada del gancho web. Puede ser texto simple, HTML, XML, JSON, etc.
note tip TIP Se recomienda establecer el encabezado Content-Type
en el tipo MIME correspondiente:text/plain
para texto sin formato,text/html
para HTML,application/json
para JSON,application/xml
para XML, etc. Para obtener más información sobre los tipos MIME, consulte Módulos MIME.
El tiempo de espera para enviar una respuesta es de 40 segundos. Si la respuesta no está disponible dentro de ese periodo, Workfront Fusion devuelve el estado "200 Aceptado".
Ejemplo de respuesta del HTML
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
---|---|
Estado | Código de estado HTTP de éxito 2xx, p. ej. 200 |
Cuerpo | código de HTML |
Encabezados personalizados |
>
|
![](./media_1d61e5a53f6b451ba003c3341c8f1b97254929124.png?width=750&format=png&optimize=medium)
![](./media_18706152db0153d4e098de351c3b9b77da0c403af.png?width=750&format=png&optimize=medium)
Ejemplo de redirección
table 0-row-2 1-row-2 layout-auto html-authored no-header | |
---|---|
Estado | Código de estado HTTP de redirección 3xx, p. ej. 303 |
Encabezados personalizados |
>
|
![](./media_1fcda5a926af051ce508d0d8c22bdb44634a44a54.png?width=750&format=png&optimize=medium)
Desactivación de webhook
Los webhooks se desactivan automáticamente si se aplica cualquiera de las siguientes opciones:
- El webhook no ha estado conectado a ningún escenario durante más de 5 días
- El webhook solo se utiliza en escenarios inactivos, que han estado inactivos durante más de 30 días.
Los webhooks desactivados se borran y no se registran automáticamente si no están conectados a ningún escenario y han estado en estado desactivado durante más de 30 días.
Resolución de problemas
Faltan elementos en el panel de asignación
Si faltan algunos elementos en el panel de asignación en la configuración de los módulos que siguen al módulo Webhooks > Webhook personalizado, haga clic en el módulo Webhooks > Webhook personalizado para abrir su configuración y haga clic en Volver a determinar la estructura de datos:
A continuación, siga los pasos descritos en la sección Configurar la estructura de datos del gancho web en este artículo.