Saltar al contenido principal

Administración de Plataforma

Funciones reservadas a los administradores de plataforma de Marko: gestión de empresas, catálogo de convenios marco, sincronización de catálogos a BigQuery y configuración general de plataforma.

Descripción

Estas pestañas no son configuraciones de la empresa operativa, sino herramientas de administración de la plataforma. Solo son visibles para usuarios con el atributo de administrador de plataforma (admin = true en su cuenta); las pestañas marcadas como platformAdminOnly (p. ej. Catálogo BQ) muestran un aviso de acceso restringido al resto de los usuarios.


1. Gestión de Empresas

Componente: CompaniesComponent — pestaña Empresas

Listado y administración de todas las empresas de la plataforma. La tabla muestra: Nombre, RUT, Plan, Precio (en UF) y Estado de pago.

Acciones disponibles

  • Crear empresa — formulario con datos como: nombre comercial, razón social, RUT, giro, dirección, comuna, datos de contacto (nombre, correo, teléfono), mercadoApiKey, proveedor y logo. Al crear se puede elegir el método de validación (por ID de OC ganada o por RUT).
  • Editar empresa — modifica los datos de una empresa existente (el método de validación queda bloqueado al editar).
  • Eliminar empresa — con confirmación.
  • Configurar Compras Ágiles — ajusta los filtros de compras ágiles de la empresa (config.agileBuyFilters), incluyendo edición de días mínimos (exclusivo de administración).
  • Configurar Plan — asigna el plan de la empresa. Los planes traen id, nombre, activo, descripcion y valorUF.
  • Cargar créditos — suma créditos al saldo de la empresa. Pide un número entero mayor a 0, muestra el saldo anterior y el nuevo, e incrementa el saldo en companies/{id}/credits/balance.
  • Migrar datos a BigQuery — ejecuta la migración de analytics de la empresa a BigQuery.
  • Configurar Indicadores Operativos — habilita y gestiona los gráficos/indicadores operativos avanzados de la empresa.

Estados de pago

active, trial, suspended, overdue, free (mostrados como badge en la tabla). Una empresa suspended bloquea el acceso operativo de sus usuarios (ver Cuenta Suspendida).


2. Convenios Marco (Administración)

Componente: ConveniosMarcoAdminComponent — pestaña Convenios Marco

CRUD del catálogo global de convenios marco que después las empresas seleccionan como "adjudicados" en Mi Empresa.

Campos de cada convenio

  • id — identificador en minúsculas/números/guiones (patrón ^[a-z0-9-]+$), único.
  • name — nombre del convenio (mínimo 3 caracteres).
  • url_product — URL del catálogo de productos (debe ser una URL http/https válida).

Acciones

  • Crear, Editar y Eliminar (con confirmación) convenios del catálogo.
  • Buscar por nombre, id o URL.
  • El listado se ordena alfabéticamente por nombre.

3. Sincronización de Catálogo a BigQuery

Componente: SupplierCatalogSyncAdminComponent — pestaña Catálogo BQ

Herramienta para sincronizar los catálogos de productos de proveedores hacia BigQuery (tabla mercado_publico.supplier_catalogs). Esta pestaña es solo para administradores de plataforma; al resto se le muestra: "Esta herramienta está disponible solo para administradores de plataforma".

Estados de sincronización por empresa

Cada empresa muestra su estado de sync con un badge:

  • Pendiente — nunca sincronizada.
  • Sincronizando… — en progreso.
  • Parcial — completada pero con algunos proveedores fallidos.
  • Sincronizada — todos los proveedores sincronizados.

La fila muestra además la fecha de última sincronización y la cantidad de proveedores procesados. Se puede expandir para ver el detalle de los fallos (hasta 15 errores con proveedor y motivo).

Acciones

  • Actualizar lista — recarga las empresas y su estado.
  • Filtrar por estado: todas / completas / parciales / pendientes (con contadores).
  • Migrar empresa (individual) — sincroniza una empresa con confirmación; el botón pasa a "Re-sync" una vez completada.
  • Migrar pendientes/parciales (masivo) — procesa secuencialmente todas las empresas pendientes y parciales, saltando las ya completas, y muestra un resumen final.
  • Sincronizar un proveedor — para la empresa activa, permite elegir un proveedor del listado y sincronizarlo de forma puntual.

4. Configuración General

Componente: GeneralComponent — pestaña General

Configuraciones generales de plataforma relacionadas con el módulo de Compras Ágiles.

Acciones

  • Actualizar token compras ágiles — botón que renueva on-demand el token de Compras Ágiles. Muestra un spinner mientras se ejecuta y, al terminar, presenta la respuesta (o el mensaje de error si falla).

Control de acceso

  • Las pestañas de esta sección solo aparecen para usuarios con el atributo admin = true (administrador de plataforma), distinto del rol ADMIN a nivel de empresa.

  • No confundir con staff = true, el otro acceso transversal: el equipo comercial interno ve datos comerciales de todas las empresas pero ninguno operativo. Ver Rol Staff.

  • La pestaña Empresas es compartida desde MRKO-327, con vistas distintas según quién entra:

    • Administrador de plataforma: el listado en vivo y todas las acciones (crear, editar, eliminar, plan, acuerdo, créditos, compras ágiles, indicadores operativos, migración a BigQuery).
    • Staff: el listado servido por Cloud Function con solo campos comerciales, y únicamente Configurar Plan y Acuerdo de Servicio. El resto de las acciones no se le renderiza, y ninguna otra pestaña del hub le aparece.

    El recorte no es solo de interfaz: al staff las reglas le niegan leer companies, y el plan lo escribe una Cloud Function que toca cinco campos y deja registro en staffAccessLog. El documento de empresa guarda en config las credenciales de integración del cliente, y las reglas de Firestore no filtran campos.

  • La pestaña Catálogo BQ está además marcada como platformAdminOnly: muestra un aviso de restricción si el usuario no es administrador de plataforma.

  • El acceso al hub está protegido por los guards de autenticación y rol; cada pestaña valida adicionalmente su visibilidad.

Enlaces Relacionados


⬅️ Volver al índice del módulo