Mejorando la resiliencia del onboarding: Manejo de cuentas privadas en Brenia
En el proyecto Brenia, hemos implementado una mejora significativa en el flujo de registro inicial para ofrecer una experiencia más fluida cuando el análisis automático de Instagram encuentra restricciones. El objetivo es evitar que los usuarios queden bloqueados en un bucle de carga infinito cuando la cuenta analizada es privada o restringida.
El desafío: cuentas privadas y carga estancada
Anteriormente, si el proceso de análisis encontraba una cuenta privada, se mostraba un mensaje de error superpuesto a la animación de carga, lo que resultaba en una experiencia de usuario confusa. Ahora, detectamos este estado y realizamos una transición limpia hacia una pantalla alternativa que permite al usuario avanzar mediante otros métodos de entrada.
Nueva arquitectura de entrada
Utilizamos un enfoque basado en componentes de Livewire para manejar la persistencia de datos durante la sesión. Cuando detectamos que Instagram no puede ser procesado, habilitamos campos para subir un sitio web, manuales de marca o referencias visuales mediante un flujo opcional:
public function handleAlternativeInput()
{
$this->validate([
'website' => 'nullable|url|not_regex:/instagram\.com/',
'assets' => 'nullable|image|max:2048',
]);
// Persistimos en la sesión antes de continuar
session(['onboarding_extras' => $this->payload]);
return redirect()->route('onboarding.plans');
}
Beneficios de la implementación
- Experiencia de usuario mejorada: El usuario no se siente bloqueado por un error técnico de acceso a API.
- Flexibilidad: Si el usuario no tiene imágenes a mano, puede continuar sin subir nada.
- Datos enriquecidos: Al persistir los archivos y el sitio web en el backend, podemos disparar procesos de fondo (
jobs) que reconstruyen el perfil de la marca de manera eficiente tras el registro.
Esta actualización asegura que, independientemente de la visibilidad de la cuenta de Instagram inicial, el proceso de onboarding mantenga su tasa de conversión.