Webhooks
Un webhook es una llamada HTTP activada por un evento. Puede utilizar webhooks para activar módulos de activador instantáneos. Cualquier aplicación que esté conectada a Internet y permita peticiones HTTP puede enviar webhooks a Adobe Workfront Fusion.
Requisitos de acceso
| table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
|---|---|
| paquete de Adobe Workfront |
Cualquier paquete de flujo de trabajo de Adobe Workfront y cualquier paquete de integración y automatización de Adobe Workfront Workfront Ultimate Paquetes Workfront Prime y Select, con una compra adicional de Workfront Fusion. |
| Licencias de Adobe Workfront |
Estándar Trabajo o superior |
| Licencia de Adobe Workfront Fusion |
Basado en operaciones: no se requiere licencia de Workfront Fusion Basado en conectores (heredado): Workfront Fusion para la automatización e integración del trabajo |
| Producto | Si su organización tiene un paquete Select o Prime Workfront que no incluye la automatización y la integración de Workfront, su organización debe adquirir Adobe Workfront Fusion. |
Para obtener más información sobre esta tabla, consulte Requisitos de acceso en la documentación.
Para obtener información sobre las licencias de Adobe Workfront Fusion, consulte licencias de Adobe Workfront Fusion.
Uso de un webhook en Workfront Fusion
Para utilizar 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 Añadir junto al campo Webhook e introduzca un nombre para el nuevo webhook.
-
(Opcional) Haga clic en Ajustes avanzados.
-
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.
-
Si desea validar los datos entrantes, en el campo Estructura de datos, seleccione o agregue la estructura de datos que desee utilizar.
Para obtener información sobre las estructuras de datos, vea Estructuras de datos.
-
En el campo Credentials puede escribir las credenciales que se usarán para la autorización. Para escribir las credenciales, haga clic en Agregar e introduzca la información de las credenciales.
-
Habilite otras opciones según desee.
-
Haga clic en Guardar
Después de crear un webhook, aparece una dirección URL única. Esta es la dirección a la que el webhook envía los datos. Workfront Fusion valida los datos enviados a esta dirección y los transmite para su procesamiento en el escenario.
Configuración de la estructura de datos del webhook 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 muestra 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.
También puede 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. Method POST Body type Raw Content type JSON (aplicación/json) Request content 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 desvincular 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.
El 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 webhook ahora están disponibles en el panel de asignación para su uso con módulos posteriores en el escenario.
La cola de ganchos web
Si un webhook recibe datos y no hay un escenario activo que los espere, 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 supera 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 Aceptado".
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 Añadir para añadir un nuevo webhook.
- Haga clic en Mostrar ajustes avanzados.
- Haga clic en paso JSON.
Encabezados del webhook
Para acceder a los encabezados del webhook, habilitar encabezados de petición GET al configurar el webhook.
- Haga clic en Añadir para añadir un nuevo webhook.
- Haga clic en Mostrar ajustes avanzados.
- Haga clic en Encabezados de petición GET.
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.
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.
-
Añada 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 Webhook 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 pulse 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,
200para Correcto), 3xx para Redireccionamiento (por ejemplo,307para Redireccionamiento temporal), 4xx para Errores del cliente (por ejemplo,400para Solicitud incorrecta), etc. -
El campo Cuerpo contiene todo lo que sea aceptado por la llamada del webhook. Puede ser texto simple, HTML, XML, JSON, etc.
note tip TIP Se recomienda establecer el encabezado de Content-Typeen el tipo MIME correspondiente:text/plainpara texto sin formato,text/htmlpara HTML,application/jsonpara JSON,application/xmlpara 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 5 minutos. 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 | |
|---|---|
| Status | Código de estado HTTP de éxito 2xx, p. ej. 200 |
| Body | Código de HTML |
| Custom headers |
>
|
Ejemplo de redireccionamiento
| table 0-row-2 1-row-2 layout-auto html-authored no-header | |
|---|---|
| Status | Código de estado HTTP de redirección 3xx, p. ej. 303 |
| Custom headers |
>
|
Desactivación de un 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 permanecido en estado desactivado durante más de 30 días.
Resolución de problemas
Elementos que faltan en el panel de asignación
Si faltan algunos elementos en el panel de asignación en la configuración de los módulos siguientes 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 webhook en este artículo.