Es una herramienta de administración de plataforma, no una pantalla de cliente:
copia los productos activos de los proveedores de una empresa hacia una tabla de BigQuery
(mercado_publico.supplier_catalogs) para que el resto de la plataforma pueda
consultarlos sin recorrer Firestore entero. Vive en Configuración → Catálogo BQ, y sólo
la ve una cuenta con el atributo de administrador de plataforma.
Qué vas a conseguir
Ver el estado de sincronización de las empresas de la plataforma y, si hace falta, disparar una migración de catálogo hacia BigQuery para una empresa o para un proveedor puntual.
Para quién
Sólo cuentas con el atributo admin: true (administrador de plataforma). No es un rol de empresa: un Admin o Manager de su propia empresa no ve esta pestaña, aunque sí entra al resto del hub de Configuración.
Qué necesitas antes
Nada de la empresa que vas a revisar. La pantalla lista todas las empresas de la plataforma; para migrar una en concreto sólo hace falta que tenga proveedores con productos cargados.
Cuánto toma
Leer el estado es instantáneo. Migrar una empresa puede tardar minutos —el botón espera hasta 9 antes de dar por caído el intento— según cuántos proveedores tenga.
Dónde está, exactamenteConfiguración → Catálogo BQ, la última de cinco pestañas marcadas con un candado rojo
(Perfiles de Usuario, Empresas, General, Convenios Marco y
Catálogo BQ). El candado es el mismo icono en las cinco, pero sólo Catálogo BQ
exige además el atributo de plataforma: las otras cuatro se abren con el rol ADMIN
de la propia empresa. Si entras con un Admin de empresa sin ese atributo, esta pestaña
directamente no aparece en la barra — no se ve deshabilitada, se ve como si no
existiera.
Los pasos
Parte 1 · Leer el estado de sincronización
Entra en Configuración desde el menú lateral y abre la pestaña
Catálogo BQ.
Qué deberías verLas quince pestañas normales de Configuración
más las cinco de administración de plataforma en rojo. Al entrar, Catálogo BQ abre
directamente el panel «Migración de catálogos de proveedor a BigQuery», con la nota de
que ejecuta una empresa a la vez para no chocar con los límites de BigQuery.
No confundas el candado con «no lo puedo usar»
El candado rojo aparece igual para ti, que sí tienes acceso: es el aviso de que la pestaña es
de administración de plataforma, no un estado deshabilitado. Lo que de verdad decide si la ves
es el atributo admin de tu cuenta, no un rol de la empresa activa.
Lee los tres contadores de arriba a la derecha y la fila de tu propia
empresa en la tabla.
Qué deberías verTres badges — sincronizadas,
parciales y pendientes — que suman el total de empresas de la plataforma, y debajo
la tabla con cada una: estado, fecha de la última sincronización, proveedores procesados y el
botón de acción. Cada fila sincronizada además muestra cuántos productos se insertaron y
cuántos quedaron sin cambios.
Después de la primera vez, se mantiene soloLa
propia pantalla lo dice al pie de la tabla: tras la migración inicial de una empresa, las
altas, ediciones y bajas de productos de sus proveedores se replican a BigQuery
automáticamente, con un disparador de Firestore (syncSupplierCatalogProductToBigQuery).
Esta pantalla no es el camino de todos los días — es la migración inicial y el rescate cuando
algo quedó a medias.
Filtra la tabla por estado: pulsa Pendientes.
Qué deberías verSólo las empresas que nunca se han
sincronizado: guion en Última sync y en Proveedores, y el botón de acción dice
Migrar en vez de Re-sync. Todas, Sincronizadas y Parciales
funcionan igual, y el número entre paréntesis de cada botón es el total de esa categoría.
Parte 2 · Disparar una sincronización — hasta el aviso
Migrar mueve datos de verdad:
lee el catálogo de la empresa desde Firestore y lo escribe en BigQuery. Por eso este manual
no confirma ninguna de las tres ventanas siguientes — las abre, las captura y las
cancela. Lo que hay debajo de Sí, migrar/Sí, continuar/Sí, sincronizar no
se documenta aquí porque no se disparó.
En una fila pendiente, pulsa Migrar.
Qué deberías verUna ventana ¿Migrar catálogo de esta
empresa? con el nombre y el ID de la empresa, y el aviso de que se sincronizarán
todos los proveedores activos de esa empresa a BigQuery. Sí, migrar dispara el
callable syncSupplierCatalogToBigQueryOnCall; mientras corre, la fila pasa a
Sincronizando… y el resto de los botones de la tabla se bloquean.
Este manual cancela aquíNo hay una manera de
deshacer una migración ya confirmada desde la pantalla — sólo puedes volver a correrla
(Re-sync) para que se recalcule. En una empresa de verdad, con proveedores de verdad,
eso es tiempo y cuota de BigQuery que no conviene gastar sólo para hacer una captura.
Para procesar varias de una vez, pulsa Migrar pendientes / parciales.
Qué deberías verUna ventana ¿Migrar empresas
pendientes? que dice cuántas empresas hay en la cola y aclara que las ya sincronizadas se
omiten. Confirmar las procesa una por una, en orden — no en paralelo —, así que con
trece empresas pendientes es una tanda larga: cada fila muestra su propio spinner cuando le
toca el turno.
No hay pausa ni cancelar a mitad de caminoUna vez
confirmada, la tanda corre hasta el final; no hay botón para detenerla ni para saltarte una
empresa. Es otra razón para no confirmarla sólo por curiosidad.
Baja a Sync puntual y elige un proveedor de tu empresa activa.
Qué deberías verUn selector con los proveedores de tu
empresa activa — no de la que estés mirando en la tabla de arriba —, con su nombre y RUT. Es la
vía para actualizar un solo proveedor sin recorrer el resto del catálogo de la empresa.
Pulsa Sincronizar este proveedor.
Qué deberías verUna ventana ¿Sincronizar un proveedor?
que repite la empresa activa y el proveedor elegido, y aclara que sólo actualiza el snapshot de
ese proveedor. Es la acción más acotada de las tres — un proveedor, una empresa — y aun
así este manual la cancela por la misma razón que las otras dos.
Lo que todavía no hace
No depende de Mercado Público, al contrario de lo que el resto del módulo hace
pensar. Esta pantalla no llama al portal ni al scraper de Compra Ágil: lee productos ya
guardados en Firestore y los escribe en BigQuery. El callable
(syncSupplierCatalogToBigQueryOnCall) y el disparador automático
(syncSupplierCatalogProductToBigQuery) están desplegados en QA
(marko-devenv) igual que en producción, y nueve empresas de la plataforma
—incluida ALIMENTOS SPA— ya tienen una sincronización real con fecha (mayo de 2026). Este
manual no confirmó ninguna migración nueva, pero la pantalla no está caída.
El detalle de proveedores fallidos no sobrevive a un refresco. El botón
▼ de cada fila sólo muestra motivos de error cuando el resultado vive en la
memoria de la sesión que acaba de migrar. Si recargas la página o pulsas Actualizar
lista, la fila puede seguir marcada Parcial, pero el detalle desaparece: no hay
manera de ver, un día después, por qué fallaron esos proveedores.
No hay reversa. Ninguna acción de esta pantalla borra lo ya sincronizado en
BigQuery ni deshace una migración confirmada. Lo único que existe es volver a correrla
(Re-sync), que reemplaza el snapshot con lo que haya en Firestore en ese momento.
Nada indica cuánto falta. Ni en una migración individual ni en la tanda masiva hay
barra de progreso o tiempo estimado: el único aviso es el spinner Sincronizando… en la
fila que le toca el turno.
La lista de errores se corta en 15. Si una empresa tiene más de quince proveedores
fallidos, el detalle sólo enumera los primeros quince y agrega «… y N más», sin forma de ver el
resto desde la pantalla.
Para consultar después
Dato
Valor
Tabla de destino
mercado_publico.supplier_catalogs, en el mismo
proyecto de BigQuery de la empresa (marko-devenv en QA).
Qué se sincroniza
Los productos activos de cada proveedor
(companies/{id}/suppliers/{id}/products): los borrados o marcados
active: false se excluyen, no se sincronizan como inactivos.
Concurrencia
Un proveedor y una empresa a la vez, por límite de cuota de
BigQuery — lo dice la propia pantalla.
Tiempo de espera del botón
540 segundos (9 minutos) antes de que el callable
se dé por caído.
Quién puede entrar
Sólo cuentas con admin: true
(administrador de plataforma). Ni el ADMIN ni el MANAGER de una
empresa la ven, aunque sí entran al resto de Configuración.
Después de migrar una vez
Los cambios de productos de esa empresa se replican
solos a BigQuery con el disparador syncSupplierCatalogProductToBigQuery. No hace
falta volver a esta pantalla salvo para revisar el estado o rescatar una empresa parcial.
Estado que se guarda
En companies/{id}.supplierCatalogBigQuerySync:
estado, fecha, insertados, omitidos, proveedores procesados y fallidos.
Cuando algo no sale
Mensaje
Qué significa
«Esta herramienta está disponible solo para administradores de
plataforma.»
Es el texto que lleva la pantalla para cuando falta el atributo
de plataforma. En la práctica no llegas a verlo por esta pestaña: sin ese atributo,
Catálogo BQ no aparece en la barra de pestañas.
«No se pudieron cargar las empresas»
Falló la lectura de
Firestore al abrir la pestaña o al pulsar Actualizar lista. Vuelve a intentar.
«Selecciona un proveedor»
Pulsaste Sincronizar este
proveedor sin elegir ninguno en el desplegable.
«No hay empresas pendientes o parciales»
Pulsaste
Migrar pendientes / parciales cuando ya no queda ninguna en esas dos categorías.
«[Empresa]: migración completa (N insertados, M sin cambios)»
La migración de esa empresa terminó sin proveedores fallidos ni documentos inválidos —
pasa a Sincronizada.
«[Empresa]: migración parcial — N proveedor(es) con error»
Terminó, pero al menos un proveedor falló. La fila queda Parcial y se expande sola
para mostrar el detalle — mientras dure la sesión (ver «Lo que todavía no hace»).
«Proceso finalizado: X sincronizadas, Y parciales, Z pendientes»
Resumen final de la tanda masiva, con los tres contadores recalculados.
«Error: …», en rojo, bajo el bloque de Sync puntual
Cualquier
error del callable llega tal cual lo devuelve Firebase — no hay traducción a un mensaje más
claro.