Complemento WebHooks
Introducción
Puede utilizar el complemento WebHooks para enviar datos desde sus formularios a cualquier página personalizada o secuencia de comandos que desee. Esta página puede realizar tareas de integración para transformar, analizar, manipular y enviar los datos de envío a donde usted elija.
Si está desarrollando una aplicación que necesita actualizarse cada vez que se envía un formulario, WebHooks es para usted. La ventaja de WebHooks es que la transmisión de datos es inmediata y puede transmitir todos los datos del formulario enviado a la vez.
¿Qué es un WebHook?
Un WebHook es simplemente una notificación automática de iform4u a otro servidor cada vez que alguien envía sus formularios.
¿Qué puedes hacer con un WebHook?
WebHooks facilita la integración de dos sistemas. El uso más común de un WebHook es introducir clientes potenciales en su CRM. Pero hay muchas otras cosas que también puedes hacer.
¿Qué necesitas?
La naturaleza misma de un WebHook supone que usted tiene cierta capacidad para escribir código (o sobornar a un amigo o colega que la tenga). Necesita tener un servidor que pueda aceptar una solicitud POST (la que obtendría al enviar un formulario) y poder escribir un script que haga algo en respuesta.
Nota: iform4u admite la integración de múltiples WebHooks por formulario.
Crear un webhook
Para crear un WebHook, debes realizar los siguientes pasos:
- Vaya al Administrador de complementos y haga clic en WebHooks .
- Haga clic en el botón Crear un webhook.
- Aparecerá un formulario utilizado para configurar el WebHook:
- Formulario : Seleccione el formulario que enviará notificaciones.
- Clave de protocolo de enlace : esta es una clave opcional que usted elige como mecanismo de autenticación para evitar spam en su Web Hook. Esta clave se incluirá como parámetro de publicación cuando nuestros servidores llamen al suyo. Si utiliza esta clave, debe compararla con su copia para validar que el envío es legítimo.
- Url : la URL donde se encuentra su secuencia de comandos.
- Estado: Puede ser:
- Activado : enviar notificaciones
- Apagado : No envía notificaciones
- json: Puede ser:
- Activado : enviar datos como cadena JSON
- Desactivado : envía datos como cadena codificada en URL
- Alias: Puede ser:
- Activado : envía datos con el alias de campo como clave de parámetro. P.ej. Reemplaza 'text_0' por 'nombre'.
- Desactivado : envía datos con ID de campo como clave de parámetro
- Haga clic en Crear.
Nota: Seleccione varios formularios para crear el mismo WebHook para cada formulario.
Deshabilitar/Habilitar un WebHook
Para detener un webhook temporalmente, puede optar por desactivarlo y activarlo más tarde. Para deshabilitar un webhook de formulario, debe seguir estos pasos:
- Vaya al Administrador de complementos y haga clic en WebHooks .
- Haga clic en el botón Acciones del WebHook para desactivarlo.
- Haga clic en Actualizar.
- Cambie el Estado de Activado a Desactivado o viceversa.
- Haga clic en Actualizar.
Eliminar un webhook
Para eliminar un WebHook, debes realizar los siguientes pasos:
- Seleccione la casilla de verificación del WebHook para eliminar.
- Haga clic en Acciones masivas.
- Haga clic en Eliminar.
- Luego mostrará una ventana emergente pidiéndole que confirme su decisión de eliminar el WebHook.
El WebHooks Manager se recargará y el WebHook seleccionado se eliminará.
Enviar datos como JSON
Para enviar los datos de la publicación como una cadena JSON, debes seguir estos pasos:
- Vaya al Administrador de complementos y haga clic en WebHooks .
- Haga clic en el botón Acciones del WebHook para desactivarlo.
- Haga clic en Actualizar.
- Cambie el campo Json de Activado a Desactivado o viceversa.
- Haga clic en Actualizar.
Usando WebHooks
Ahora que sabes qué son WebHooks y cómo usarlos en iform4u, veamos un ejemplo.
En este tutorial vamos a enviar notificaciones desde uno de nuestros formularios a la página: Beeceptor. Esta página captura nuestras notificaciones y las imprime en pantalla.
Pinitos:
- Vaya a https://beeceptor.com/
- Introduzca un nombre de punto final y
- Presione el botón Crear punto final
- Copie la URL del punto final
¡Muy bien! Sepa que tiene una URL que le servirá para recibir las notificaciones enviadas por iform4u.
Próximos pasos:
- Ir a iform4u
- Vaya al Administrador de complementos e instale WebHooks
- Ahora, haga clic en WebHooks .
- Haga clic en el botón Crear un webhook.
- Llene el formulario:
- Formulario: Seleccione 'Lista de correo'
- URL: pegue la URL del punto final
- Clave de apretón de manos: para este ejemplo: my_handshake_key
- Estado: ENCENDIDO
- Haga clic en crear
Pasos finales: prueba tus notificaciones
- Ir al administrador de formularios
- Haga clic en el formulario 'Lista de correo'
- Haga clic en el botón Publicar y compartir (el icono de la flecha verde)
- Haga clic en Compartir enlace del formulario
- Marque Sin casilla y presione ¡Ir!
- Complete el formulario de la lista de correo y envíelo
Si se recibe su envío, aparecerá un mensaje de éxito.
Ahora, vaya a Endpoint Url (y sin actualizar la página) verá que la notificación contiene:
- ID de formulario
- Nombre del formulario
- IP de usuario
- Datos de envío
- Tecla de apretón de manos
¡Y eso es todo! Ha enviado su primera notificación a otro servidor. ¡Felicidades!
Guardar envíos de formularios en una base de datos externa
Ahora que sabemos cómo exportar envíos de formularios en tiempo real a una aplicación externa, veremos cómo podemos almacenar estos envíos en una base de datos.
Si tiene un sitio web, puede realizar los siguientes pasos y almacenar los envíos de formularios de nuestro formulario de demostración en su propia base de datos, solo necesita cambiar la URL del WebHook.
En su propio sitio web:
1.- Crear una base de datos : ' test '. Puedes hacer esto con tu software favorito, como phpMyAdmin o también usando el siguiente comando MySQL
CREATE DATABASE 'test';
2.- Crea una tabla de base de datos : ' suscriptores ', con 4 campos: id, nombre, correo electrónico y dirección_ip . Puede ejecutar la siguiente consulta MySQL
CREATE TABLE `test`.`subscribers` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`email` VARCHAR(255) NOT NULL ,
`ip_address` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`id`)) ENGINE = InnoDB;
3.- Configura la información en tu base de datos : 'test'. ElsaveToDB.php
archivo le permite configurar los siguientes parámetros:
define('DB_SERVER', "localhost");
define('DB_USER', "root");
define('DB_PASSWORD', "");
define('DB_DATABASE', "test");
define('DB_DRIVER', "mysql");
4.- Sube el archivo @app/custom/saveToDB.php a tu servidor.