En este tutorial, veremos con más detalle cómo se puede integrar Tilda y AppMaster. Supongamos que un determinado formulario ha sido creado en Tilda, y nuestra tarea es asegurar que los datos, al ser rellenados, lleguen a AppMaster, sean procesados allí y almacenados en la base de datos.
Crear un webhook en AppMaster
Tilda envía datos a servicios de terceros a través de un webhook. Por lo tanto, vale la pena comenzar con la creación del webhook necesario y, en primer lugar, preparar el proceso de negocio para su funcionamiento.
Una característica de este proceso es que no se sabe de antemano qué datos exactos se obtendrán. El webhook trabajará con "raw" peticiones que deben ser debidamente procesadas. Para ello, utilizaremos el bloque Get Request Body bloque. Vamos a ver qué datos vienen generalmente de Tilda, convertirlos en String, escribirlos en el registro y mostrarlos en respuesta a la petición.
En la sección de endpoints, vamos a crear inmediatamente un nuevo webhook. Es importante tener en cuenta que el tipo de solicitud debe ser Raw porque no tiene ningún parámetro de entrada codificado y está preparado para aceptar cualquier dato. También es necesario desactivar Middleware Token Auth porque para rellenar un formulario en Tilda, no es necesario pasar por la autorización en AppMaster, y el envío de datos está abierto a todo el mundo.
Tilda configuración del formulario
El siguiente paso es conectar Tilda al webhook creado. Para ello, en la configuración de los formularios del sitio, es suficiente para especificar la URL, aunque, si es necesario, puede utilizar opciones adicionales. Por ejemplo, para la protección adicional, también pasar una clave especial, en el cuerpo de la solicitud o en la cabecera.
Si todo se hace correctamente, aparecerá un mensaje correspondiente con la posibilidad de vincular inmediatamente este webhook a todos los formularios del sitio.
Sólo queda publicar la página con el formulario y probarlo en acción.
Al abrir los registros de AppMaster, puede asegurarse de que los datos del formulario fueron realmente recibidos.
Mensaje: “Email=test%40gmail.com&Name=John+Smith&Phone=%2B1-202-202-22-22&Comments=Hello%2C+world%21%0AThis+is+my+comment&tranid=6355139%3A3971256761&formid=form513738662”
Se puede ver toda la información rellenada en el formulario. Al mismo tiempo, queda claro que los datos se reciben en el x-www-form-urlencoded formato, respectivamente, ya no pueden ser procesados como un conjunto de datos en bruto, sino como una colección de campos individuales.
AppMaster modelo de base de datos
Sólo queda hacer el manejador adecuado. Y lo mejor es empezar con un modelo de base de datos donde se almacenará toda la información.
Para un formulario estándar, un modelo simple con 4 campos es suficiente:
- Email (String)
- Name (String)
- Phone (String)
- Comments (Text)
A continuación, hay que volver al proceso de negocio creado y modificarlo teniendo en cuenta la información recibida sobre la composición de la solicitud.
Los nombres de los campos de la tabla a rellenar se utilizarán como parámetros de entrada. Los datos de los mismos se utilizarán para crear un modelo (Make Tilda) y luego escribir en la base de datos (DB: Create Tilda).
Lo último que hay que hacer es cambiar el endpoint creado anteriormente para el webhook. Conocemos el formato de los datos entrantes y los procesamos, por lo que el Request payload type debe ser Form. Al mismo tiempo, es necesario hacer coincidir los parámetros creados en el proceso de negocio con los nombres exactos de los campos del formulario completado (los vimos en los registros cuando recibimos los datos de la solicitud como datos en bruto). En este ejemplo, son casi iguales, pero difieren en el caso del primer carácter.
Ahora puede publicar la solicitud creada y probarla en acción. Si repite el llenado y envío del formulario en Tilda, los datos serán enviados a AppMaster, escritos en la base de datos, y esto puede ser verificado usando Swagger.