Carga masiva de adquisiciones, asignación y agenda de Órdenes de trabajo, y endurecimiento de seguridad en toda la plataforma
Este release trae la carga masiva de adquisiciones y un nuevo drawer de asignación y agenda para Órdenes de trabajo en Admin, restaura la edición completa de la dirección del cliente, agrega un chequeo de seguridad para el cambio de moneda, hace que las integraciones con partners resuelvan clientes y solicitantes de forma determinística por referencia externa, consolida el payload de formularios dinámicos para las apps de terreno, endurece la autenticación con un modelo de sesión tipado y tokens servicio a servicio, y completa la remoción de Material UI en Admin.
Productos actualizados: Admin · Platform API
Adquisiciones — carga masiva (Admin)
NuevoSobre las mejoras de adquisiciones del release anterior, ahora puedes crear adquisiciones de forma masiva.
- Carga masiva de adquisiciones. Reutiliza el mismo drawer de carga ya usado para reservas, unidades de producto y suscripciones.
- Guía de uso de la plantilla. Una pestaña de guía dedicada detalla las reglas: la plantilla descargada tiene una estructura predefinida que no debe modificarse — no agregues, elimines ni renombres columnas, o el sistema rechazará el archivo automáticamente.
- Guía de completado de campos. Tips prácticos animan a completar la mayor cantidad de información posible para cada cliente, con los campos requeridos marcados en el header de cada columna — mientras más información ingreses, mejor será la experiencia en la plataforma.
- Feedback de revisión de carga. Consistente con el resto de la plataforma: "Se procesaron {total} filas y se crearon exitosamente {loaded} adquisiciones" en éxito, y "Algunas adquisiciones no pudieron ser creadas por información duplicada o faltante" ante errores, con un resumen de errores descargable para reintentar.
- Sin pérdida de datos al cambiar de modo. Cambiar entre Carga manual y Carga masiva ya no pierde la información ingresada.
Órdenes de trabajo — asignación y agenda (Admin)
NuevoEl módulo de Órdenes de trabajo suma un nuevo drawer de Asignación y agenda, completando el flujo creación → asignación → agendamiento.
- Comienza por cualquiera de los dos lados. "Puedes comenzar con la asignación o el agendamiento para verificar la disponibilidad" — empieza por cualquiera de los dos lados del flujo.
- Asignación. Selecciona el proveedor que recibirá la solicitud.
- Agendamiento. Selecciona el día y la hora de ejecución; el drawer muestra los slots de capacidad disponibles por cada opción.
- Estado de agendamiento parcial. Asignar un proveedor sin elegir aún fecha/hora marca la orden como "parcialmente agendada — para ejecutar la orden, debes definir el día y la hora" y muestra "Pendiente de configuración".
- Editar y eliminar agendamiento. "Editar asignación y agenda" aplica los cambios al guardar; "Eliminar agendamiento" pide una confirmación explícita y advierte que el servicio no podrá ejecutarse hasta configurar un nuevo agendamiento, y que la acción no se puede deshacer.
- Toasts de confirmación. "¡Orden de trabajo agendada correctamente!" y "¡Agendamiento eliminado correctamente!"
Clientes (Admin)
- Edición completa de dirección restaurada. La edición de la dirección de un cliente vuelve a soportar la edición completa de la dirección, controlada por configuración remota para poder ajustarse por tenant.
Validación de cambio de moneda (Admin)
- Chequeo "Puede cambiar moneda". Antes de cambiar la moneda de un área, la plataforma puede ahora confirmar si es seguro hacerlo, previniendo cambios de moneda que romperían áreas ya ligadas a precios y devolviendo errores de permiso apropiados cuando la acción no está permitida.
Integraciones externas
- Resolución determinística de cliente/solicitante por referencia externa. Cuando los partners crean reservas a través de la API de integración, la plataforma ahora busca primero al cliente (y al solicitante) existente por la referencia propia del partner, recurriendo al correo o a la creación sólo si no hay coincidencia — previniendo duplicados cuando un correo cambia o falta. Orden de resolución de cliente: referencia → correo → crear. Orden de resolución de solicitante: ID de solicitante → referencia → crear.
- Referencia del proveedor en eventos de prospecto. Los eventos de notificación relacionados con prospectos ahora incluyen la referencia externa del proveedor, así los sistemas de partners que consumen estos eventos pueden correlacionarlos sin una consulta adicional.
Formularios dinámicos (Platform API)
- Payload consolidado para la app. Los endpoints de la app de terreno ahora sirven el payload consolidado de formularios dinámicos — primer paso hacia una única fuente de verdad entre clientes web y de terreno.
- IDs de asociación incluidos. Incluidos directamente en la respuesta del formulario dinámico, así los consumidores ya no necesitan un request adicional para resolver las asociaciones.
- Fix de tabla de formularios dinámicos. La tabla de asociación de formularios dinámicos ya no se rompe visualmente cuando no hay asociaciones configuradas.
Confiabilidad e integridad de datos (Platform API)
Mejorado- Invalidación de caché de dirección al cambiar estado. Cuando cambia el estado de una dirección, su payload cacheado se invalida para que las lecturas posteriores siempre reflejen el nuevo estado.
- Cambios de fecha por super-user. Ahora asignan correctamente el rango horario del período cuando se cambia la fecha de una reserva.
- Consultas de disponibilidad de un solo día. Ya no devuelven bloques de agenda vacíos cuando el inicio y el fin de la consulta caen el mismo día.
Seguridad y autenticación (Platform API)
- Payload de sesión tipado en toda la plataforma. El manejo interno de sesión/claims se reemplazó por una forma fuertemente tipada y una utilidad central de validación, reduciendo la posibilidad de bugs sutiles de manejo de sesión a lo largo de la API.
- Tokens inválidos rechazados antes. Los tokens se validan ahora antes de cualquier consulta a la base de datos, haciendo el rechazo rápido y barato.
- Chequeos de pertenencia generalizados. El guard de pertenencia es ahora polimórfico por tipo de entidad, extendiendo el control de acceso consistente a más recursos (incluyendo incidentes de prospecto).
- Flujos anónimos más limpios. Los endpoints pensados para ser alcanzables sin autenticación (flujos anónimos de cliente) ya no asumen un contexto de usuario logueado.
- Autenticación servicio a servicio. Los tokens internos de servicio máquina a máquina ahora se soportan sin requerir un claim de correo, habilitando comunicación segura con la capa de servicio core.
Admin — consistencia y pulido
Mejorado- Material UI removido por completo. Admin completa su migración de múltiples releases a la librería de UI compartida: el sistema de tema legacy, sus dependencias y los usos restantes a lo largo de proyectos, add-ons, componentes compartidos de booking-incident, autocompletes de campos dinámicos, navegación del dashboard y componentes pequeños están ahora en sodtrack-web-ui. Espera un look & feel más consistente y una interfaz más liviana y rápida.
- Pantallas de incidente y tarea consolidadas. Los flujos de incidente y de tarea ahora comparten building blocks comunes, reduciendo inconsistencias de lenguaje y comportamiento entre ambos.
- Página de configuración de tema limpia. Se removió el bloque legacy de "Examples".
- Experiencia de bloqueo de agenda del proveedor. Refactorizada para un manejo más fluido, consistente con el nuevo flujo de disponibilidad.
¿Listo para ver Sodtrack en acción?
Agenda una demo y nuestro equipo te mostrará las últimas funciones adaptadas a tu operación.