/* global React, ReactDOM */ const { useState, useEffect } = React; const { Icon, useReveal, Navbar, Footer, useSiteTweaks, SiteTweaks, PrivacyBox, Galeria } = window; const MASUPPORT_EMAIL = "masupport@masoft.es"; const SHOT = "assets/masupport/"; // navbar principal (72) + subcabecera (~52) const NAV_OFFSET = 126; const SECTIONS = [ { id: "que-es", label: "Qué es" }, { id: "como-trabaja", label: "Cómo trabaja" }, { id: "funciones", label: "Funciones" }, { id: "pantallas", label: "Capturas" }, { id: "perfiles", label: "Perfiles" }, { id: "seguridad", label: "Seguridad" }, { id: "preguntas", label: "Preguntas" }, { id: "prueba", label: "Prueba 30 días gratis", destacado: true }, { id: "contacto", label: "Contacto" } ]; const scrollToId = (id) => { const el = document.getElementById(id); if (!el) return; const y = el.getBoundingClientRect().top + window.pageYOffset - NAV_OFFSET; window.scrollTo({ top: Math.max(0, y), behavior: "smooth" }); }; /* ---------- Contenido ---------- */ // Todo lo que se afirma aquí está en MASupport 0.27.0 (LAUNCHER\SCRIPTS\MASUPPORT: CLAUDE.md, // GUIA_RAPIDA_MASupport.md y el código). Las capturas son de la demostración, con datos ficticios. // No añadir funciones, cifras ni garantías que el programa no tenga. const CIFRAS = [ { n: "3", t: "vías de entrada", d: "Portal, correo y teléfono, en una sola bandeja" }, { n: "8", t: "perfiles", d: "Cada persona ve y hace solo lo que le toca" }, { n: "2", t: "barreras entre empresas", d: "En el código y en la propia base de datos" }, { n: "Web + Android", t: "", d: "En la oficina, en casa del cliente y en el móvil" } ]; const PIPELINE = [ { k: "1", label: "Entra la incidencia", sub: "PORTAL · CORREO · TELÉFONO", desc: "El cliente la abre en su portal, escribe al correo de soporte o llama. Todo llega numerado, con su empresa, su contacto y su plazo." }, { k: "2", label: "Se reparte", sub: "COORDINACIÓN · PLAZOS", desc: "Coordinación ve la cola sin asignar, la carga de cada técnico y lo que vence. Asignar o reasignar es un clic." }, { k: "3", label: "Se resuelve", sub: "CONVERSACIÓN · VISITA · PARTE", desc: "Conversación con el cliente, notas internas, cronómetro, pedido de material y, si hace falta, visita con parte firmado en pantalla." }, { k: "4", label: "Se mide", sub: "ESTADÍSTICAS · VALORACIONES", desc: "Plazos cumplidos, tiempo por cliente y por técnico, valoraciones e informes en PDF. El tiempo facturable sale a Excel." } ]; const FUNCIONES = [ { icon: "list", h: "Tickets completos", p: "Plazos (SLA) con horario laboral y festivos, estados con motivo que ve el cliente, tipos y categorías, personas en copia, fusionar, destacar, seguir y escalar." }, { icon: "users", h: "Coordinación del equipo", p: "Cola sin asignar, carga de cada técnico, escalados y reclamaciones de clientes a la vista, y reasignación conservando el tiempo de cada uno." }, { icon: "clock", h: "Tiempo que se registra solo", p: "Cronómetro por ticket, «Mi tiempo» del día para revisar y confirmar, bolsas de horas por cliente y tiempo facturable con mínimo y redondeo." }, { icon: "calendar", h: "Agenda personal y del equipo", p: "Semana y mes, citas que se arrastran de un día a otro o de un técnico a otro, y visitas que salen solas de los tickets." }, { icon: "pen", h: "Asistencias con parte firmado", p: "Visitas presenciales o remotas con instrucciones, kilómetros, materiales y firma del cliente en pantalla. El parte firmado queda protegido con su huella." }, { icon: "box", h: "Pedidos de material", p: "Soporte pide, Administración presupuesta en sus programas, el cliente acepta en su portal y el material se sigue hasta la entrega." }, { icon: "cpu", h: "Inventario de cada cliente", p: "Equipos con número de serie, persona y estado, configuraciones con plantillas paso a paso y cambios de equipo con borrado de datos registrado." }, { icon: "book", h: "Base de conocimiento", p: "Cada artículo con su solución interna y la que puede ver el cliente. Aparecen solos en los tickets parecidos y se sugieren al cliente al escribir." }, { icon: "chart", h: "Estadísticas e informes", p: "Por técnico, por empresa cliente, por categoría y por vía de entrada, con comparativa del periodo anterior. Informes en PDF con aprobación previa." }, { icon: "globe", h: "Portal para sus clientes", p: "Sus clientes abren y siguen sus solicitudes, aprueban presupuestos, consultan sus equipos y la ayuda, con su marca y su dirección." }, { icon: "file-text", h: "Documentación al personal", p: "Nóminas, avisos y protocolos enviados a su equipo con acuse de lectura y conformidad, y aviso de lo que sigue sin leer." }, { icon: "tool", h: "Subcontratas", p: "Autónomos y empresas externas reciben solo sus asistencias, con su propio responsable y sus técnicos." }, { icon: "mail", h: "Correo de Microsoft 365 o cualquier otro", p: "Buzones de Microsoft 365 o por IMAP/SMTP: el correo entra como ticket y las respuestas salen desde su dirección." }, { icon: "key", h: "Entrar con Microsoft", p: "Inicio de sesión con la cuenta de Microsoft (Entra ID) además de usuario y contraseña, y equipos importados de Intune." }, { icon: "upload", h: "Traiga sus datos", p: "Importación desde Freshdesk, Zendesk, Jira, GLPI y otros, y exportación de todo a Excel, CSV o JSON cuando quiera." }, { icon: "sparkles", h: "Asistente de IA opcional", p: "Prepara respuestas, resúmenes y artículos como sugerencia, siempre revisada por una persona y con los datos personales anonimizados." } ]; const GALERIAS = [ { id: "tecnico", label: "Día a día del técnico", shots: [ { src: SHOT + "inicio_tecnico.webp", t: "Inicio del técnico", d: "Sus tickets ordenados por plazo, lo que vence en rojo, el tiempo de hoy, sus configuraciones pendientes y su agenda de hoy y mañana." }, { src: SHOT + "ticket.webp", t: "Ficha del ticket", d: "Conversación con el cliente, notas internas en amarillo, pedido de material y espera con motivo. Cronómetro, escalado y propiedades a un clic." }, { src: SHOT + "cronometros.webp", t: "Cronómetros", d: "El que está en marcha, los detenidos con su tiempo de hoy y los tickets asignados, para empezar a contar con un clic." }, { src: SHOT + "mi_tiempo.webp", t: "Mi tiempo", d: "Cada registro del día con su ticket, sus minutos y su nota. Se revisa, se confirma el día y se ven los últimos siete días." }, { src: SHOT + "agenda.webp", t: "Mi agenda", d: "La semana con sus citas y asistencias; se arrastran de un día a otro para moverlas." }, { src: SHOT + "control_horario.webp", t: "Control horario", d: "Entrada, pausas y salida de cada día, con el resumen del mes en PDF. Los avisos fuera del horario se aplazan." }, { src: SHOT + "destacados.webp", t: "Destacados", d: "Los tickets que el técnico quiere tener a mano, con sus propias observaciones. Solo los ve él." }, { src: SHOT + "documentacion.webp", t: "Documentación", d: "Lo que la empresa le envía: nóminas, avisos y protocolos, con su estado de lectura y aceptación." }, { src: SHOT + "perfil.webp", t: "Mi perfil", d: "Sus datos, doble factor, cuenta de Microsoft, foto, avisos y la app del móvil, que se instala escaneando un código." } ] }, { id: "coordinacion", label: "Coordinación y dirección", shots: [ { src: SHOT + "tickets.webp", t: "Tickets", d: "Filtros plegables por estado, prioridad, técnico, grupo, categoría y vía de entrada. Escalados y vencidos, de un vistazo." }, { src: SHOT + "coordinacion.webp", t: "Coordinación", d: "Escalados y reclamaciones de clientes, cola sin asignar con su plazo y carga de cada persona del equipo." }, { src: SHOT + "agenda_equipo_mes.webp", t: "Agenda del equipo", d: "Todo el equipo en el mes: reuniones, mantenimientos, visitas y llamadas de seguimiento, cada una con su ticket." }, { src: SHOT + "equipo.webp", t: "Equipo", d: "Resueltos, plazos cumplidos, primera respuesta, valoración y tiempo de cada persona, comparados con la media del equipo." }, { src: SHOT + "estadisticas.webp", t: "Estadísticas", d: "Tickets nuevos y resueltos, plazos, satisfacción, tiempo registrado y facturable, por empresa cliente, categoría y vía de entrada." }, { src: SHOT + "informes.webp", t: "Informes", d: "Informes en PDF para sus clientes (mensuales, de incidencia o de proyecto). Ninguno sale sin la aprobación de coordinación." }, { src: SHOT + "agenda_equipo.webp", t: "Agenda del día", d: "Una columna por técnico; las citas se arrastran de una persona a otra para pasárselas." }, { src: SHOT + "escalados.webp", t: "Escalados", d: "Lo que el equipo ha escalado, con su motivo. Las situaciones de conflicto con un cliente, las primeras y en rojo." }, { src: SHOT + "estad_tecnico.webp", t: "Detalle de un técnico", d: "Plazos, valoraciones, tiempo registrado frente a jornada fichada y tiempo dedicado a cada cliente." }, { src: SHOT + "valoraciones.webp", t: "Valoraciones", d: "La nota media de cada técnico y cada valoración de los clientes con su comentario." }, { src: SHOT + "horario_equipo.webp", t: "Control horario del equipo", d: "Quién está trabajando ahora, las horas del mes de cada persona y las correcciones de fichaje por aprobar." }, { src: SHOT + "seguimiento.webp", t: "Seguimiento", d: "Los tickets que se quieren vigilar: cualquier cambio aparece aquí aunque no sean suyos." }, { src: SHOT + "proyectos.webp", t: "Proyectos", d: "Trabajos que agrupan varios tickets con su presupuesto de horas y su consumo." }, { src: SHOT + "proyecto.webp", t: "Ficha del proyecto", d: "Horas presupuestadas, dedicadas y restantes, técnicos asignados, notas internas e informe para el cliente." } ] }, { id: "campo", label: "Campo, material y clientes", shots: [ { src: SHOT + "asistencias.webp", t: "Asistencias", d: "Visitas propias y de subcontratas con su estado: pendiente de aceptar, aceptada, parte por validar o validada." }, { src: SHOT + "asistencia.webp", t: "Parte firmado", d: "Trabajo, materiales, kilómetros y firma del cliente. La huella del parte indica que no se ha modificado después de firmar." }, { src: SHOT + "pedidos.webp", t: "Pedidos", d: "Del presupuesto a la recepción: en administración, pendiente del cliente, pedido al proveedor y recibido. Sin importes en la plataforma." }, { src: SHOT + "inventario.webp", t: "Inventario", d: "Los equipos de cada cliente con su número de serie, la persona que lo usa y su estado." }, { src: SHOT + "empresa.webp", t: "Ficha de la empresa cliente", d: "Datos, contrato con sus plazos, bolsa de horas consumida, contactos, conexión con su Intune y últimos tickets." }, { src: SHOT + "conocimiento.webp", t: "Base de conocimiento", d: "Artículos por categoría con sus usos y su porcentaje de acierto; internos o visibles para el cliente." }, { src: SHOT + "pedido.webp", t: "Ficha del pedido", d: "Qué hace falta y para qué cliente. Administración registra el presupuesto y si el cliente lo acepta." }, { src: SHOT + "equipo_ficha.webp", t: "Ficha del equipo", d: "Datos, quién lo usa, garantía, cambios de equipo, configuración y asistencias en las que ha intervenido." }, { src: SHOT + "empresas.webp", t: "Empresas cliente", d: "Cada cliente con sus dominios de correo, contactos, tickets abiertos y bolsa de horas contratada." }, { src: SHOT + "contactos.webp", t: "Contactos", d: "Las personas de cada cliente, con su cargo y si tienen acceso al portal." }, { src: SHOT + "externas.webp", t: "Subcontratas", d: "Autónomos y empresas externas para las asistencias, con su zona y sus técnicos." }, { src: SHOT + "articulo.webp", t: "Artículo de conocimiento", d: "Síntomas, causa y solución interna; aparte, la solución que verá el cliente en su portal." } ] }, { id: "portal", label: "Portal de sus clientes", shots: [ { src: SHOT + "portal.webp", t: "Portal del cliente", d: "Sus solicitudes abiertas y cerradas, pedidos, equipos y ayuda, con el nombre de su empresa de soporte." }, { src: SHOT + "portal_ticket.webp", t: "Seguimiento de una solicitud", d: "El cliente sigue la conversación, añade personas en copia y puede reabrirla. Las notas internas nunca le llegan." }, { src: SHOT + "portal_nueva.webp", t: "Nueva solicitud", d: "Qué ocurre, en qué equipo y cuánto le afecta. Un diagnóstico descargable añade el nombre y el estado del ordenador." }, { src: SHOT + "portal_ayuda.webp", t: "Ayuda", d: "Soluciones a los problemas más habituales, por temas, para que el cliente lo resuelva sin esperar." }, { src: SHOT + "portal_articulo.webp", t: "Una solución de la ayuda", d: "Cuándo pasa y qué hacer, paso a paso. Si no se soluciona, abre la solicitud desde ahí mismo." } ] }, { id: "it", label: "Informático del cliente", shots: [ { src: SHOT + "it_inicio.webp", t: "Inicio del informático del cliente", d: "Si su cliente tiene informático propio, este ve todos los tickets y equipos de su empresa: abiertos, esperas y última actividad." }, { src: SHOT + "it_tickets.webp", t: "Tickets de su empresa", d: "Todas las solicitudes de su empresa, con filtros, quién las atiende y si están en plazo." }, { src: SHOT + "it_ticket.webp", t: "Ficha del ticket", d: "La conversación completa y sus plazos. Puede añadir notas para el equipo de soporte; el resto es de consulta." }, { src: SHOT + "it_inventario.webp", t: "Inventario de su empresa", d: "Los equipos de su empresa con la persona que los usa, la garantía y su estado." }, { src: SHOT + "it_equipo.webp", t: "Ficha del equipo", d: "Datos, configuración y tickets de cada equipo, solo de consulta." } ] }, { id: "ajustes", label: "Ajustes y personalización", shots: [ { src: SHOT + "admin_usuarios.webp", t: "Equipo y permisos", d: "Cada persona con su rol, su doble factor, su uso de la IA y su último acceso. También el personal de subcontratas." }, { src: SHOT + "admin_ajustes.webp", t: "Ajustes de la empresa", d: "Prioridad según la vía de entrada, cierre automático, sesiones, días de confianza del doble factor y logotipo." }, { src: SHOT + "oscuro_inicio.webp", t: "Tema oscuro", d: "Cada persona elige tema claro u oscuro. Aquí, el inicio del técnico." }, { src: SHOT + "oscuro_ticket.webp", t: "Ficha del ticket en tema oscuro", d: "La misma información, más cómoda para jornadas largas delante de la pantalla." }, { src: SHOT + "admin_categorias.webp", t: "Categorías de ticket", d: "Las categorías propias de su empresa, en el orden que quiera, para filtrar y para las estadísticas." }, { src: SHOT + "admin_auditoria.webp", t: "Auditoría", d: "Quién hizo qué y cuándo, con filtros y exportación. Los registros solo se añaden: nadie puede cambiarlos." }, { src: SHOT + "admin.webp", t: "Administración", d: "Equipo, grupos, plazos, correo, respuestas, ajustes, doble factor, dominios, datos legales y auditoría en un mismo sitio." }, { src: SHOT + "admin_grupos.webp", t: "Grupos", d: "Departamentos para repartir los tickets: por turnos, al que menos tiene o de forma manual." }, { src: SHOT + "admin_correo.webp", t: "Correo y Microsoft 365", d: "Buzones de soporte que crean tickets y envían las respuestas, y entrada con la cuenta de Microsoft." }, { src: SHOT + "admin_respuestas.webp", t: "Respuestas predefinidas", d: "Textos que el equipo inserta al responder un ticket." }, { src: SHOT + "admin_legal.webp", t: "Datos legales", d: "Los datos de su empresa para el aviso legal y la información de privacidad del portal." }, { src: SHOT + "oscuro_coordinacion.webp", t: "Coordinación en tema oscuro", d: "Escalados, cola sin asignar y carga del equipo." }, { src: SHOT + "oscuro_estadisticas.webp", t: "Estadísticas en tema oscuro", d: "Todas las pantallas están disponibles en los dos temas." }, { src: SHOT + "oscuro_portal.webp", t: "Portal del cliente en tema oscuro", d: "El cliente también elige su tema." } ] } ]; const MOVIL = [ { src: SHOT + "movil_ticket.webp", t: "El ticket en el móvil" }, { src: SHOT + "movil_asistencia.webp", t: "El parte, donde esté" }, { src: SHOT + "movil_portal_ticket.webp", t: "Su cliente, desde su móvil" }, { src: SHOT + "movil_portal_nueva.webp", t: "Abrir una solicitud" } ]; const PERFILES = [ ["Administrador", "Todo lo de su empresa: equipo, clientes, ajustes, buzones, plazos, datos legales y exportaciones."], ["Coordinación", "Reparte y reasigna, atiende escalados, valida partes, aprueba informes y ve la agenda y las cifras del equipo."], ["Supervisión", "Lo mismo que coordinación, limitado a sus grupos."], ["Técnico", "Sus tickets, sus asistencias, su tiempo y su agenda. Nada que no le corresponda."], ["Administración", "Los pedidos (presupuesto, aceptación y compra), el control horario y los kilómetros."], ["Subcontratas", "Solo las asistencias que se les encargan, con su responsable y sus técnicos."], ["IT propio del cliente", "Si el cliente tiene su propio informático: consulta los tickets y el inventario de su empresa y deja notas."], ["Clientes", "Su portal: sus solicitudes (o las de su empresa, si tienen ese permiso), pedidos, equipos y ayuda."] ]; // Seguridad: cada punto está implementado y comprobado en el código de la 0.27.0. const SEG_BD = [ { icon: "database", h: "Aislamiento dentro de PostgreSQL", p: "Row Level Security forzada en las tablas de cada empresa: la propia base de datos solo devuelve las filas de la empresa de la sesión, aunque una consulta olvidara filtrar." }, { icon: "lock", h: "Falla cerrado", p: "Si una petición no tiene empresa fijada, la base de datos no devuelve ninguna fila. Un error nunca abre la puerta: la cierra." }, { icon: "key", h: "La aplicación no puede saltárselo", p: "La aplicación se conecta con un usuario sin privilegio para evitar esas reglas. Solo las migraciones usan el propietario de las tablas." }, { icon: "code", h: "Consultas parametrizadas", p: "Todas las consultas se construyen con SQLAlchemy y parámetros; nunca se compone SQL con lo que escribe el usuario. Así se evita la inyección SQL." } ]; const SEG_APP = [ { icon: "shield", h: "Contraseñas y accesos", p: "Contraseñas cifradas con bcrypt (mínimo 12 caracteres), bloqueo tras 5 intentos fallidos, límite de intentos por conexión y doble factor con códigos de recuperación." }, { icon: "users", h: "Cada perfil, lo suyo", p: "Los permisos se comprueban en el servidor en cada petición, no escondiendo botones. Un técnico no puede abrir un ticket que no es suyo aunque conozca su dirección." }, { icon: "globe", h: "Navegador blindado", p: "HTTPS siempre, protección CSRF en todos los formularios, política de contenidos estricta sin scripts incrustados, cookies seguras y sesiones que se pueden cerrar todas a la vez." }, { icon: "lock", h: "Secretos cifrados", p: "Claves de buzones, de Microsoft y de Intune se guardan cifradas y no se vuelven a mostrar. Ninguna contraseña está escrita en el código." }, { icon: "file-text", h: "Adjuntos controlados", p: "Tamaño y tipos limitados, guardados con nombre aleatorio fuera de la parte pública y descargados solo por quien tiene permiso. El HTML de los correos se limpia." }, { icon: "smartphone", h: "App móvil", p: "Cada móvil se vincula con un código QR de un solo uso que caduca a los 10 minutos. Su acceso se puede revocar y en el servidor solo se guarda su huella." }, { icon: "eye", h: "Auditoría", p: "Accesos, cambios de permisos, exportaciones y supresiones quedan registrados: quién, qué y cuándo." }, { icon: "server", h: "Copias de seguridad cifradas", p: "Copia diaria de la base de datos y los archivos, cifrada antes de guardarse, con la clave para descifrarla fuera del servidor. Se conservan 14 días." } ]; const SEG_PROCESO = [ ["Pruebas automáticas", "Más de 240 pruebas contra una base de datos PostgreSQL real, también de aislamiento entre empresas, pasadas antes de cada versión."], ["Revisión de aislamiento", "Comprobado con cada perfil contra todos los tickets de la demostración, sin una sola fuga entre empresas ni entre personas."], ["Dependencias", "Versiones fijadas (se instala exactamente lo probado) y revisadas en busca de vulnerabilidades conocidas."], ["Masoft no lee sus tickets", "La administración de la plataforma da de alta empresas y ve recuentos, nunca el contenido de sus tickets."], ["Normativa", "RGPD (Masoft actúa como encargado del tratamiento, con su contrato), LOPDGDD (bloqueo al suprimir, desconexión digital, la app no guarda la ubicación), LSSI (solo cookies técnicas) y eIDAS (el parte firmado es firma electrónica simple)."] ]; const PRUEBA = [ { n: "30", h: "días gratis", p: "MASupport totalmente funcional durante 30 días, sin coste." }, { n: "0", h: "instalación", p: "Le damos de alta su empresa y entra con el navegador. La app Android, si la quiere, se descarga desde su perfil." }, { n: "7", h: "días tras el final", p: "Si no continúa, la plataforma se bloquea al terminar la prueba y a los 7 días se elimina toda la información." } ]; const PREGUNTAS = [ ["¿Tengo que instalar algo?", "No. MASupport funciona en el navegador, también en el móvil. La app Android para los técnicos es opcional."], ["¿Puedo usar mi propio dominio?", "Sí. Su empresa entra por su dirección en masupport.es y, si quiere, también por un dominio suyo, con HTTPS automático."], ["¿Un cliente puede ver lo de otro?", "No. Cada empresa cliente ve solo lo suyo, y entre empresas de soporte la separación está en la propia base de datos."], ["¿Puedo traer mis tickets de otro programa?", "Sí: desde Freshdesk o Zendesk directamente, y desde Jira, GLPI y otros con un archivo exportado."], ["¿MASupport factura?", "No. Registra tiempos, partes y kilómetros, y exporta el tiempo facturable a Excel para su programa de facturación. En la plataforma no hay importes."], ["¿Funciona con Microsoft 365?", "Sí: buzones de Microsoft 365, inicio de sesión con Microsoft (Entra ID) e importación de equipos desde Intune."], ["¿Y si al acabar la prueba no sigo?", "La plataforma se bloquea al terminar los 30 días y a los 7 días se elimina toda la información. Mientras dura la prueba puede exportar sus datos cuando quiera."], ["¿La IA lee mis datos?", "Solo si el administrador la activa. Siempre sugiere (una persona decide), anonimiza los datos personales y deja registro de cada uso."] ]; /* ---------- Subcabecera propia ---------- */ const MSSubnav = ({ active }) => (
); /* ---------- Pantallas por áreas ---------- */ const Pantallas = () => { const [area, setArea] = useState(GALERIAS[0].id); const actual = GALERIAS.find(g => g.id === area); return ( <>
{GALERIAS.map(g => ( ))}
{/* Sin efecto de aparición: las capturas se ven siempre, al cambiar de pestaña y al volver (ver .ms-galeria en styles.css). */}
); }; /* ---------- Formulario de contacto independiente ---------- */ const MasupportContact = ({ telefono }) => { const [form, setForm] = useState({ name: "", email: "", company: "", phone: "", tecnicos: "", motivo: "prueba", message: "", accept: false, website: "" }); const [state, setState] = useState("idle"); const [showTerms, setShowTerms] = useState(false); const faltaEmpresa = form.motivo === "prueba" && !form.company.trim(); const valido = form.name && form.email && form.message && form.accept && !faltaEmpresa; const submit = async (e) => { e.preventDefault(); if (!valido) return; setState("sending"); try { const res = await fetch("api/masupport_contact.php", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(form) }); const data = await res.json(); setState(data.ok ? "done" : "error"); } catch { setState("error"); } }; return (
Contacto MASupport

Pida su prueba o cuéntenos qué necesita.

Canal exclusivo de MASupport. Revisamos cada solicitud, le damos de alta su empresa y le enviamos el acceso para empezar.

Díganos cuántas personas forman su equipo de soporte, a cuántos clientes atienden y qué programa usan hoy. Sin compromiso.

  • {MASUPPORT_EMAIL}Consulta directa sobre MASupport
  • {telefono && (
  • {telefono}Llámenos y le contamos cómo funciona
  • )}
  • Prueba de 30 días, totalmente funcionalSin coste ni compromiso
  • Le ayudamos a traer sus datosDesde Freshdesk, Zendesk, Jira, GLPI u otros
{state === "done" ? (

Solicitud enviada

{form.motivo === "prueba" ? "Preparamos su empresa en MASupport y le escribimos con el acceso a la mayor brevedad." : "Le responderemos a la mayor brevedad con la información de MASupport."}

) : (
setForm({ ...form, name: e.target.value })} required/>
setForm({ ...form, email: e.target.value })} required/>
setForm({ ...form, company: e.target.value })} required={form.motivo === "prueba"}/>
setForm({ ...form, phone: e.target.value })}/>
setForm({ ...form, tecnicos: e.target.value.replace(/[^0-9]/g, "").slice(0, 5) })} placeholder="p. ej. 6"/>