Tutorial: Validación en tiempo real de usuarios y campos del formulario mediante web service Seguir
En este tutorial te explicamos cómo configurar la validación en tiempo real mediante Web service, tanto durante el proceso de identificación (Login) como en los campos adicionales del formulario de registro.
Estos son los contenidos del tutorial:
Introducción
Requisitos iniciales
Configuración de la promoción
Configuración técnica del web service
1. Introducción
Easypromos permite validar en tiempo real los datos introducidos por los usuarios durante el proceso de identificación y registro de una promoción, contrastándolos con un sistema externo mediante una conexión vía API o Web service.
Esta funcionalidad permite comprobar que los usuarios cumplen determinados requisitos para participar en una promoción, consultando una base de datos externa mantenida por el cliente, como una base de datos de suscriptores de una newsletter, un CRM de contactos o un programa de fidelización.
La validación en tiempo real está disponible en dos momentos del proceso de participación:
- Durante el proceso de identificación (Login): permite validar las direcciones de correo electrónico o los códigos de cliente introducidos por el usuario.
- Durante el proceso de registro: permite validar los datos introducidos en los campos de texto adicionales del formulario de registro.
De esta forma, puedes comprobar tanto si un usuario está autorizado a acceder a la promoción como si la información que proporciona durante el registro cumple las condiciones establecidas por el organizador.
Ejemplos de uso:
- Crear un sorteo entre los suscriptores de una newsletter: cuando el usuario intente identificarse para participar, el sistema validará en tiempo real que su dirección de email forma parte de la base de datos de suscriptores. Si no forma parte, verá un mensaje de error con un enlace para darse de alta en la newsletter.
- Crear un juego tipo ruleta de premios para clientes fidelizados: el usuario deberá introducir su número de cliente para identificarse y participar. El sistema comprobará en tiempo real que el número introducido existe en la base de datos de clientes fidelizados.
- Validar información adicional durante el registro: puedes solicitar al usuario que introduzca un dato específico en un campo de texto del formulario de registro, como un número de socio, un código de empleado o un identificador de cliente. El sistema comprobará en tiempo real que el dato introducido es válido según la base de datos externa.
Nota: Esta funcionalidad aplica cuando el proceso de identificación y registro sucede en Easypromos, es decir los usuarios deben rellenar el formulario de registro de la promoción. Si lo que buscas es una solución SSO (Single Sign On), en el que el usuario se identifica directamente en tu sistema, deberás utilizar la API de Autologin o bien la integración con Open ID Connect.
2. Requisitos iniciales
Estos requisitos son los que debe realizar y validar la persona que gestiona la promoción, que no tiene que ser necesariamente el desarrollador.
Requisitos generales
- El cliente deberá tener una API o Webservice que permita a Easypromos enviar el email introducido por el usuario y que responda en tiempo real. Ver en la sección "desarrolladores" las especificaciones técnicas que debe tener el webservice.
- Es necesario disponer de una plan Marca Blanca o Corporate. No se incluye en planes Premium o Básicos.
- La versión de la promoción debe ser Marca Blanca. No aplica a promociones Premium
Requisitos para validar los datos durante el Login
- La pantalla de identificación/Login debe estar habilitada. No aplica cuando se activa el sistema de Login y registro en un solo paso
- Se puede utilizar el método de Login con Email o Login con código de cliente, según el dato que se quiera validar.
Requisitos para validar los datos del formulario de registro
Es necesario disponer de uno o varios campos de texto adicionales en el formulario de registro, que serán los campos en los que se configurará la validación mediante web service.
3. Configuración de la promoción
Una vez se cumplen estos requisitos, para la validación del login se deberá configurar la pantalla de identificación y registro de esta forma:
- Acceder al Editor de la promoción
- Ir a Páginas > Login y registro > Pestaña Login
- Asegurar que la opción de "Proceso de identificación y registro en un único paso" está deshabilitada
- Habilitar el Login con Email y en sus opciones habilitar Restricciones de email "A través de API externa (Web service)". Si en vez de validar emails, quieres validar códigos de cliente, deberás habilitar la opción de "Login con código de cliente".
- El Método, Content-type, Cabeceras, y URL del Web service, lo deberá proporcionar el desarrollador de la integración. Se explica en la siguiente sección del tutorial
- Mensaje de error: Introduce el texto que verá un usuario en caso de error en la validación. Aprovecha para introducir un enlace a tu sistema para que se registre. Ejemplo: "El email no es válido. Si todavía no eres suscriptor, date de alta aquí."
Para la validación de los campos del formulario de registro, deberás seguir los pasos indicados a continuación.
- Acceder al Editor de la promoción
- Ir a Páginas > Login y registro > Pestaña Registro
- Añadir un nuevo campo del tipo "Campo de texto adicional"
- En las opciones de configuración del campo habilitar "Método de validación" > "A través de API externa (Web service)".
- El Método, Content-type, Cabeceras, y URL del Web service, lo deberá proporcionar el desarrollador de la integración. Se explica en la siguiente sección del tutorial.
4. Configuración técnica del web service
Esta sección del tutorial está dirigida específicamente a los desarrolladores o integradores técnicos responsables de configurar la conexión con el web service externo. Deberán encargarse de la configuración de la API, incluyendo las cabeceras, los métodos y la URL del web service, para habilitar la validación en tiempo real.
Actualmente están soportadas llamadas a URLs vía HTTPS con el verbo GET y esperando una respuesta de tipo JSON.
La URL debe responder con un código 200 si el email tiene acceso a la promoción. Si se recibe cualquier otro código se interpretará que el usuario no tiene acceso a la promoción.
Al ser una comprobación en tiempo real cada vez que el usuario introduce el código se realiza la llamada al web service. Esta llamada tiene un timeout de 2 segundos. La implementación del web service, por tanto, debe ser capaz de devolver el código 200 en menos de dos segundos para no perjudicar la experiencia del usuario, en caso contrario la validación fallará.
Cabeceras
Configura las cabeceras de la llamada con los requisitos de autenticación de tu web service.
La configuración de Cabeceras es especialmente importante ya que permite proteger la url del cliente con tokens privados y evitar que la API sea consultada con posibles ataques de fuerza bruta. Las peticiones a la API se realizan de servidor a servidor, con lo que estos tokens nunca serán visibles desde el navegador del usuario.
URL del Web service
La URL del servicio debe apuntar al endpoint programado por el cliente. Este endpoint requiere que se añada la variable {EMAIL} en la propia url o como parámetro GET. Esta variable se sustituirá por el email introducido por el usuario.
Ejemplos de URLs válidas para comprobar el email:
| https://mypromo.com/validate/{EMAIL} | https://mypromo.com/validate/aaa@gmail.com |
| https://mypromo.com/validate?email={EMAIL} | https://mypromo.com/validate?email=aaa@gmail.com |
| https://mypromo.com/{EMAIL}/validate | https://mypromo.com/aaa@gmail.com/validate |
Si en vez de validar emails, validas códigos de cliente, deberás utilizar el parámetro {CUSTOMER_NUMBER}
| https://mypromo.com/validate/{CUSTOMER_NUMBER} | https://mypromo.com/validate/66778A3R |
| https://mypromo.com/validate?code={CUSTOMER_NUMBER} | https://mypromo.com/validate?email=66778A3R |
| https://mypromo.com/{CUSTOMER_NUMBER}/validate | https://mypromo.com/66778A3R/validate |
Dirección IP de origen de las peticiones
Easypromos realiza las peticiones de validación a tu web service desde la dirección IP 34.156.157.35. Si tu servidor restringe las conexiones entrantes mediante un firewall o una lista de direcciones IP permitidas, añade esta IP para que pueda recibir las peticiones de Easypromos.
Permitir esta IP no sustituye la autenticación de las peticiones mediante las cabeceras configuradas para tu web service.
Testing
Se puede usar la función de [Realiza un test] para probar distintos emails y ver la respuesta. Para cada email introducido se muestra la respuesta del web service en la pantalla emergente del test, por ejemplo:
Para poder probar esta función antes de programar la URL definitiva hemos creado dos URLs de prueba, una que responde siempre con un código 200, aceptando el email. Y otra que devuelve un código 404, rechazando cualquier email.
Estas URLs son:
- https://wl.easypromosapp.com/v24/ok/{EMAIL} - Para el caso de todo OK
- https://wl.easypromosapp.com/v24/ko/{EMAIL} - Para el caso de todo ERROR
En caso de validar códigos de cliente en vez de emails, las URLs son:
- https://wl.easypromosapp.com/v24/ok/{CUSTOMER_NUMBER} - Para el caso de todo OK
- https://wl.easypromosapp.com/v24/ko/{CUSTOMER_NUMBER} - Para el caso de todo ERROR
Si por ejemplo configuramos la URL de siempre error en el Editor de una promoción tal como vemos en esta imagen:
El usuario nunca podrá entrar en la promoción ya que siempre obtendrá un error.
Por supuesto, estas URLs sólo son de prueba. El cliente debe implementar una url pública donde se pueda enviar un email para ser validado. Para evitar un uso malicioso de estas urls se pueden usar los campos header para enviar tokens de seguridad.
Nota: En caso que esta configuración de llamada a un web service externa no encajara con tu servicio actual, será necesario programar y alojar un conector intermedio que haga la interconexión de los dos servicios. Si necesitas un conector, puedes contactar con nuestro equipo comercial de Easypromos para pedir presupuesto para el desarrollo, alojamiento y mantenimiento del conector.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.