Webhooks
¿Qué es un Webhook?
Un webhook en desarrollo web es un método para aumentar o alterar el comportamiento de una aplicación web con callbacks personalizados. Estos callbacks pueden ser mantenidos y gestionados por usuarios y desarrolladores de terceros que no necesariamente están afiliados con la aplicación de origen.
QuestionPro admite tanto webhooks entrantes como salientes. Los webhooks pueden ser invocados antes de que comience la encuesta, durante la encuesta (antes o después de una pregunta), o después de que se haya completado la encuesta.
Webhooks-advanced-helpfile.mp4
Haga clic para descargar el video
¿Qué son los webhooks entrantes?
Los Webhooks entrantes son una manera simple de obtener datos de fuentes externas en su encuesta.
¿Qué son los webhooks salientes?
Los webhooks salientes pueden ser utilizados para enviar datos de la encuesta a una fuente externa. Utilizan solicitudes HTTP estándar con una carga útil JSON.
¿Cómo configurar webhooks?
Para crear un webhook:
- Elija la encuesta para la que desea configurar el webhook.
- Vaya a: Integraciones >> Webhooks
- Haga clic en el botón Agregar nuevo webhook.
- Ingrese una descripción para su webhook y haga clic en el botón Crear Webhook.
Una vez que esté en la página de configuración, elija cuándo debe ser invocado el webhook seleccionando el evento desencadenante.
- Un webhook puede ser invocado antes de la encuesta, después de una pregunta, después de una página en la encuesta, después del botón guardar y continuar en la encuesta, y después de la encuesta.
Nota: Para el evento desencadenante 'Después de Pregunta', el webhook se activa al final de la encuesta, aunque solo envía datos capturados hasta esa pregunta y no la respuesta completa. Si requiere que el webhook se active inmediatamente 'Después de pregunta', debe agregar manualmente un salto de página después de la pregunta.
- Si elige activar el webhook después de la encuesta, también puede configurar las condiciones en las que debe activarse el webhook.
- Configure las condiciones (si las hay) y haga clic en Siguiente.
Después de elegir la condición de activación, proporcione los datos requeridos para la llamada a la API:
- Método: El método HTTP utilizado para realizar la llamada.
- URL de API: La URL del endpoint para realizar una llamada a la API.
- Tipo de autorización: Elija el tipo de autorización y agregue credenciales si es necesario. También puede optar por agregar las credenciales ya sea en el encabezado o en los parámetros según lo requiera la fuente externa.
- Encabezado de solicitud: Campos de encabezado HTTP que son componentes de la sección de encabezado de la solicitud.
- JSON de solicitud: Datos de carga útil requeridos por la API. También puede usar el botón Insertar Respuesta para insertar la respuesta en el JSON de Solicitud.
- Una vez que complete los detalles anteriores, haga clic en el botón Prueba para verificar si está obteniendo la salida deseada. Si no, por favor intente de nuevo después de modificar los datos de la solicitud de API. Una vez que esté satisfecho con la salida, haga clic en Siguiente.
El paso de Mapeo de Datos es principalmente requerido para webhooks entrantes. Puede guardar los datos recuperados de la fuente externa mapeándolos a variables. Tenga en cuenta que estas variables son diferentes de las variables personalizadas que se almacenan con la respuesta del encuestado. Si no desea mapear datos a las variables, puede proceder y hacer clic en
Guardar.
- Puede mapear los datos a variables asignando claves JSON individuales a variables específicas. Puede agregar y eliminar variables según sea necesario.
- Una vez que el mapeo esté establecido, los datos recopilados se pueden mostrar en la encuesta utilizando el siguiente código: ${code}.
Finalmente, una vez que desee que su webhook esté activo, habilite el interruptor para hacer que el webhook esté activo.
¿Cómo proporcionar datos para un webhook saliente?
En caso de webhooks salientes, puede enviar los datos recopilados en variables personalizadas a un servicio web externo agregando las variables personalizadas en el JSON de Solicitud.
Variables de Reemplazo de Datos
Para obtener los datos de las Variables Personalizadas, puede usar las siguientes etiquetas para las Variables Personalizadas correspondientes en el JSON de solicitud:
Variable Personalizada 1: ${custom1}
Variable Personalizada 2: ${custom2}
Variable Personalizada 3: ${custom3}
Variable Personalizada 4: ${custom4}
Variable Personalizada 5: ${custom5}
Variable Personalizada N: ${customN}
¿Cómo sabría si el webhook se ejecutó con éxito o falló?
QuestionPro proporciona una instalación de registro para cada webhook donde puede verificar los detalles de la API llamados por ese webhook junto con la carga útil y la respuesta del endpoint. Para acceder a los registros, vaya a un webhook particular y haga clic en Registros, donde puede ver las solicitudes realizadas por ese webhook y al hacer clic en el ID puede verificar los detalles de cualquier llamada específica.
También, si la llamada saliente falló al enviar los datos para un evento
Después de la Encuesta, habrá un botón de Reintento Manual disponible junto a cualquier llamada API fallida, que puede hacer clic en cualquier momento para reenviar los datos al endpoint de la API. También puede seleccionar múltiples webhooks y reintentar en bloque. Otros eventos desencadenantes no son compatibles con el mecanismo de reintento.
¿Se admiten las condiciones en todos los eventos desencadenantes?
No. Actualmente, las condiciones solo son compatibles con el evento Después de la Encuesta.
¿Cuáles son los tipos de preguntas admitidas bajo condiciones?
Actualmente admitimos Seleccionar uno, Seleccionar muchos, menú desplegable y texto de una sola fila.
¿Cómo puedo mostrar los datos de la variable dentro de la encuesta?
Si desea mostrar el valor de una variable como ${customN} en la encuesta, puede usar fácilmente ${code}. Alternativamente, puede agregar el mismo mapeo de variable personalizada a nivel de encuesta que configuró en la sección de mapeo de datos del webhook o agregar un salto de página antes de esa pregunta.
gracias por tus comentarios