OpenClaw Data and Observability Response - La Directa WooCommerce¶
Fecha: 2026-06-23
Estado: REPORTE DOCUMENTAL / SOLO LECTURA / SIN RUNTIME / SIN WRITES
Scope: tenant
tenant_id: ladirecta
Destino funcional: La Directa WooCommerce frontend
Resumen ejecutivo¶
OpenClaw ya tiene base documental y tecnica suficiente para alimentar el frontend B2B de La Directa con productos, precio publico candidate, stock, marca, categoria, pack, minimo de venta y campos logisticos por SKU. Esa base todavia no equivale a sincronizacion productiva activa.
Estado actual:
SOURCE-002 Productosesta cargado y conciliado en PostgreSQL productivo dedicado con314SKUs.- Existen
212SKUs con stock positivo,100con stock cero y312con precio/costo presente. - Hay
49marcas,13categorias y21pares categoria/subcategoria documentados para mapping WooCommerce. - Se ejecuto un piloto controlado de WooCommerce con
10productos creados comodraftyhidden, sin publish. SOURCE-001 Clientesesta documentado, pero el catalogo runtime real de listas de precio requiere snapshot/query read-only autorizada para cerrar conteos y correspondencias.- El contrato B2B de precios por cliente/lista esta disenado y probado en prototipo local, pero las tablas B2B reales siguen pendientes por bloqueo de backup/permisos antes de DDL.
- Observabilidad La Directa esta cerrada en Fase 1: Blackbox, Grafana y Alertmanager observan disponibilidad publica, no metricas comerciales ni salud interna WooCommerce.
Este reporte no ejecuto SQL, no llamo WooCommerce API, no toco el repo
C:\APV\vps-woocommerce-ladirecta, no toco el VPS WooCommerce 1735349, no
imprimio secretos y no activo sync, scheduler, cron ni pipelines.
Referencias leidas¶
Referencias externas solo lectura:
C:\APV\vps-woocommerce-ladirecta\docs\handovers\openclaw\LA-DIRECTA-FRONT-INTERFACE-HANDOFF.mdC:\APV\vps-woocommerce-ladirecta\docs\handovers\openclaw\OPENCLAW-RESPONSE-REQUEST.md
Referencias OpenClaw principales:
docs/PROJECT-STATE.mddocs/ROADMAP.mddocs/RISK-REGISTER.mddocs/VALIDATION-MATRIX.mddocs/OBSERVABILITY-PLAN.mddocs/tenants/ladirecta/observability/*docs/tenants/ladirecta/handovers/OPENCLAW-TO-LADIRECTA-DATA-RESPONSE.mddocs/tenants/alpuntodeventa/business-observer/sources/SOURCE-001-SGC-CLIENTES.mddocs/tenants/alpuntodeventa/business-observer/sources/SOURCE-002-SGC-PRODUCTOS.mddocs/tenants/alpuntodeventa/business-observer/sources/SOURCE-003-SGC-VENTAS-COMPROBANTES.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-009A-WOOCOMMERCE-PRODUCTS-MAPPING-API-CANDIDATE.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-009M-WOOCOMMERCE-PRODUCT-DRAFT-PILOT-WRITE.mddocs/tenants/alpuntodeventa/business-observer/production/PDF-010C-SOURCE-001-PRICE-LIST-CATALOG-READ-ONLY-VALIDATION.md
Que tiene OpenClaw documentado para La Directa¶
OpenClaw tiene tres frentes relevantes:
| Frente | Estado | Uso para frontend |
|---|---|---|
| Productos / catalogo | avanzado, con carga PostgreSQL y piloto WooCommerce | alimentar tienda, producto individual, filtros, cards y metadata B2B |
| Clientes / precios B2B | contrato y prototipo local; persistencia real pendiente | alimentar login B2B, precio por cliente, carrito y checkout |
| Observabilidad | Fase 1 activa con Blackbox/Grafana/Alertmanager | monitorear disponibilidad publica y preparar productores futuros |
El material vive mayormente bajo alpuntodeventa/business-observer porque el
Business Observer es el dominio de datos original. Para La Directa, cualquier
exposicion futura debe respetar tenant_id, permisos, contratos de handoff y
separacion estricta entre OpenClaw y WooCommerce.
Fuentes de datos existentes¶
| Source | Nombre | Estado | Utilidad ecommerce |
|---|---|---|---|
SOURCE-001 |
SGC Clientes / VCLIENTES |
documental; snapshot runtime faltante para este gate | clientes, CUIT, email, estado, lista de precio, zona |
SOURCE-002 |
SGC Maestro de productos | autoridad vigente, 314 SKUs cargados |
productos, marcas, categorias, precios, stock, pack, minimo, peso, volumen |
SOURCE-002B |
WooCommerce Imagenes | fuente complementaria futura | imagen destacada/galeria por SKU si se valida cruce |
SOURCE-002C |
Stock Daily Snapshot | capa futura/historica | stock diario, tendencias, auditoria |
SOURCE-002D |
Stock Current 10min | capa futura/intradiaria | stock liviano frecuente |
SOURCE-003 |
Ventas / comprobantes | staging/local-dev avanzado; no es proximo paso vigente | pedidos/ventas historicas, recurrencia, mix, KPIs comerciales |
Productos¶
Campos disponibles¶
SOURCE-002 documenta 81 campos vinculados por tenant_id + SKU. Para
frontend y WooCommerce son relevantes:
- identidad:
SKU,Articulo,Estado,PLU Articulo,[PLU Bulto] - marca:
Marca - taxonomia:
Category,SubCategoria - stock:
Stock,Stock en Bultos - precio publico candidate:
PrecioListaFinal - oferta candidate:
PrecioOfertaFinal - listas B2B:
PrecioL1aPrecioL9,PrecioNetoL1aPrecioNetoL9,IVAPrecioL1aIVAPrecioL9,MargenL1aMargenL9 - politica comercial:
CantVtaMin,CantVentaAgrupada,Descuento Permitido,PrecioCDescPermitidoFinal,Acepta Devolucion - pack/logistica:
Unidades_x_Bulto,UnidadMedida,PesoxUnidad,VolumenxUnidad,BasePallet,AlturaPallet,CantUnidxPallet,CantBultosxPallet,PesoxPalletkg,VolumenxPalletm3 - proveedor interno:
Cod Proveedor,Proveedor
Campos faltantes o pendientes¶
| Necesidad frontend | Estado |
|---|---|
| imagen principal y galeria por SKU | pendiente de modelo/discovery SOURCE-002B y Media Library |
| descripcion larga editorial | candidate; puede componerse, pero falta copy comercial final |
modo_venta (bulto, minimo, mixto) |
requiere regla comercial final |
etiqueta_pack |
derivable, pero pendiente de formato UI aprobado |
wc_product_id persistente por SKU |
pendiente de tabla/mapping futuro |
| regla publish/draft | pendiente para sin precio, sin stock, sin imagen y categorias dudosas |
| vigencia real de ofertas | pendiente |
categorias bajo VARIOS |
bloqueadas hasta decision comercial |
Marcas y categorias¶
- Marcas fuente:
49. - Categorias fuente:
13. - Pares categoria/subcategoria:
21. - WooCommerce tiene evidencia de atributo global
Marca / pa_marca. - En el piloto se usaron terminos de marca y categorias existentes; no se crearon categorias ni marcas nuevas en ese paso.
- Productos bajo
VARIOSoNO APLICAquedan bloqueados hasta resolver mapping y uso comercial.
Precios y listas¶
Precio publico/default vigente candidate:
PrecioListaFinal -> regular_price.
Listas B2B:
SOURCE-002traePrecioL1..PrecioL9.SOURCE-001traeLista_Precio.- Hay decision/prototipo para resolver precio por cliente, pero el cierre real requiere persistencia B2B y snapshot/validacion actualizada de clientes.
Reglas importantes:
- No asumir
L1como precio publico por intuicion. - No reemplazar un precio faltante de lista por
regular_pricesin decision comercial. - Costos, margenes y proveedor no deben exponerse en frontend publico.
Stock¶
Estado documentado:
314SKUs en inventario.212con stock positivo.100con stock cero.Stockpuede mapearse astock_quantity.stock_statuspuede derivarse comoinstocksistock_quantity > 0,outofstocksi no.
Gaps:
- no hay confirmacion de multi-deposito;
- no hay reservas modeladas para ecommerce;
- la frecuencia final de stock depende de activar
SOURCE-002Do productor seguro futuro; - no debe prometerse stock absoluto para checkout sin regla de recalc server-side.
Pack, minimos, peso y volumen¶
Disponibles desde SOURCE-002:
| Campo frontend | Campo origen | Estado |
|---|---|---|
unidades_por_bulto |
Unidades_x_Bulto |
disponible |
cantidad_minima_venta |
CantVtaMin |
disponible |
incremento_venta |
CantVentaAgrupada |
candidate |
peso_unidad |
PesoxUnidad |
disponible si valor > 0 |
volumen_unidad |
VolumenxUnidad |
disponible; no mapear a dimensiones Woo sin regla |
| bulto/pallet | campos palletizados | disponible para logistica, no necesariamente UI inicial |
El frontend debe separar bulto cerrado comercial de bulto equivalente/logistico.
No conviene usar Stock en Bultos como stock vendible oficial.
Clientes¶
SOURCE-001 Clientes documenta:
Codigo -> codigo_clienteNombre/Nombre_en_FacturaLista_PrecioTelefono/ WhatsAppCuitmailEstadoDireccion_de_pedidosLocalidadProvinciaZona
Estados documentados:
CLIENTE ACTIVO -> active / can_sell=trueCLIENTE SUSPENDIDO -> suspended / can_sell=falseCLIENTE DE BAJA -> inactive / can_sell=false
Relacion con WooCommerce:
- La clave operativa futura no debe ser email ni WhatsApp.
- El matching recomendado es
wc_customer_id -> sgc_customer_id. tenant_id + codigo_clientees la clave logica fuerte de cliente.- El email puede servir para contacto/login, pero no como unica identidad.
Gaps:
- snapshot runtime seguro de
SOURCE-001pendiente; - catalogo real de
Lista_Preciopendiente; - conteos por lista/estado pendientes;
- duplicados o faltantes de email/CUIT/WhatsApp pendientes;
- tabla real
b2b_customer_mappingpendiente.
Ventas y pedidos¶
Fuentes disponibles:
SOURCE-003 Ventas / comprobantesdocumenta el dominio de ventas.- Existen capas RAW/CORE/MART y loaders en distintos estados de local-dev, staging y production planning.
- Para ecommerce La Directa no hay aun productor de pedidos WooCommerce ni metricas comerciales activas en OpenClaw.
Metricas posibles futuras:
- pedidos por dia y estado;
- ventas por dia y moneda;
- ticket promedio;
- SKUs por pedido;
- unidades por pedido;
- bultos cerrados y bultos equivalentes;
- mix de marcas/categorias;
- recurrencia por cliente/segmento;
- stockouts visibles;
- productos vistos/agregados si La Directa publica eventos.
Restriccion:
- Prometheus no debe recibir
order_id, email, telefono, nombre, direccion,skuoproduct_namecomo labels.
Postgres y Business Observer¶
Tablas/vistas relevantes documentadas:
| Objeto | Estado | Uso |
|---|---|---|
business_observer.catalog_source_002_products |
documentado/cargado | catalogo WooCommerce-ready |
business_observer.core_source_002_products |
documentado/cargado | capa canonica productos |
business_observer.inventory_source_002_current |
documentado/cargado | stock actual |
business_observer.inventory_source_002_daily_snapshot |
documentado/cargado | historia diaria |
business_observer.economic_source_002_products |
documentado/cargado | precios/listas/costos internos |
business_observer.mart_source_002_stock_alerts |
documentado/cargado | alertas analiticas de stock |
business_observer.b2b_customer_mapping |
DDL candidate; ausente real | matching Woo/SGC cliente |
business_observer.b2b_product_price |
DDL candidate; ausente real | precios B2B normalizados |
business_observer.b2b_pricing_decision_log |
DDL candidate; ausente real | auditoria de decision |
business_observer.v_b2b_customer_effective_price |
DDL candidate; ausente real | precio efectivo cliente/SKU |
Estado de sincronizacion:
- Productos
SOURCE-002: carga y conciliacion documentadas para314SKUs. - B2B clientes/precios: prototipo local y DDL candidate; no tablas reales.
- SOURCE-003 ventas: avanzado como historial Business Observer, no activo como feed ecommerce frontend.
Gaps:
- backup/permisos antes de DDL B2B;
- snapshot actualizado
SOURCE-001; - persistencia
wc_product_idpor SKU; - productores/exporters seguros para metricas WooCommerce;
- contratos de endpoints para frontend/runtime.
WooCommerce API¶
Probado/documentado:
- GET read-only de categorias.
- GET read-only de atributos.
- GET read-only de terminos
Marca / pa_marca. - GET por SKU antes/despues del piloto.
- POST controlado de
10productos comodraftyhidden.
No existe hoy:
- sync masivo;
- scheduler;
- cron;
- pipeline automatico;
- publish automatico;
- carga de imagenes;
- update masivo de precio/stock;
- creacion de clientes WooCommerce;
- runtime B2B conectado a carrito/checkout.
Riesgos de credenciales:
- las credenciales deben validarse solo como presentes, sin imprimir valores;
.envdebe permanecer ignorado por Git;- logs no deben contener consumer key, consumer secret, tokens, connection strings ni payloads sensibles;
- cualquier write requiere safe point y aprobacion explicita.
Observabilidad¶
Dashboards existentes¶
Activos/documentados:
Ecommerce La DirectaLa Directa Web Availability
Candidatos o futuros:
La Directa Executive Overview - Phase 1Public Critical PagesWooCommerce OperationsOrders & RevenueCart & CheckoutBackups & RestoreEmail & NotificationsInfrastructureAdvanced Commercial Intelligence
Blackbox targets¶
Activos:
https://ladirecta.com.ar/https://ladirecta.ar/https://ladirecta.com.ar/tienda/https://ladirecta.com.ar/carrito/https://ladirecta.com.ar/mi-cuenta/
Candidato:
https://ladirecta.com.ar/finalizar-compra/, porque responde302hacia carrito y requiere probe de redirect esperado.
Alertas¶
Activas/relevantes:
EcommerceLaDirectaComArDownEcommerceLaDirectaArDownEcommerceLaDirectaArRedirectBrokenEcommerceLaDirectaStoreDownEcommerceLaDirectaCartDownEcommerceLaDirectaMyAccountDownEcommerceLaDirectaHighLatencyEcommerceLaDirectaSslExpiryWarningEcommerceLaDirectaSslExpiryCritical
La entrega SMTP para alertas La Directa fue validada en OpenClaw, con Prometheus y Alertmanager privados. No implica acceso interno a WooCommerce.
Metricas disponibles hoy¶
probe_successprobe_duration_secondsprobe_ssl_earliest_cert_expiryprobe_http_status_codeALERTS
Metricas futuras para ecommerce¶
Fase 2 operativa:
- health WordPress/WooCommerce;
- backups y restore drill;
- SMTP WooCommerce;
- servicios criticos;
- logs agregados;
- CPU/RAM/disco del VPS WooCommerce por exporter privado.
Fase 3 comercial:
- pedidos;
- ventas;
- ticket promedio;
- pedidos por estado;
- productos activos/sin stock/bajo stock/sin imagen;
- carrito y checkout;
- conversion.
Regla obligatoria:
- Grafana no debe conectarse directo a la DB productiva WooCommerce. Toda metrica interna o comercial debe venir desde productor seguro del lado La Directa.
Que puede entregar OpenClaw al frontend¶
Con desarrollo/gate controlado, OpenClaw puede entregar:
- catalogo base por SKU;
- nombre, marca, categoria, subcategoria;
- precio publico candidate;
- stock y estado de stock;
- pack, minimo e incremento candidate;
- peso y volumen unitario;
- flags de calidad/bloqueo;
- listas de precio B2B normalizadas, cuando se cierre
SOURCE-001y la persistencia B2B; - recomendaciones de UI para mostrar bulto/minimo sin confundir semanticas;
- metricas publicas de disponibilidad actuales;
- roadmap de productores seguros para metricas operativas/comerciales.
Que debe pedir La Directa al cliente/admin¶
Para cerrar frontend real sin datos ficticios, La Directa debe pedir/validar:
- decision de publicar u ocultar productos sin stock;
- decision de productos sin imagen;
- decision de productos sin precio o con precio cero;
- regla final para categorias
VARIOSyNO APLICA; - fuente de imagenes por SKU y politica de placeholder;
- copy comercial para descripcion corta/larga si no alcanza la composicion;
- confirmacion de
modo_ventapor SKU o regla derivada; - formato visible de
etiqueta_pack; - si
PrecioListaFinalsigue como precio publico default; - confirmacion de listas
Lista_Precio -> PrecioL1..PrecioL9; - conducta para clientes suspendidos/de baja;
- producer seguro para health, backups, SMTP, pedidos, ventas y checkout.
Desarrollo futuro requerido¶
- endpoints/exporters seguros desde La Directa Ops;
- API/exporter OpenClaw para catalogo si el frontend no consume WooCommerce nativo;
- mapeo persistente
sku -> wc_product_id; - mapeo
wc_customer_id -> sgc_customer_id; - tablas B2B reales con backup valido y autorizacion DDL;
- motor server-side de precios B2B en runtime WooCommerce;
- validacion server-side de minimo/incremento en carrito;
- metadata de orden por linea con lista/precio/fuente;
- flujo de imagenes por SKU;
- reglas de publish/draft y QA comercial.
Roadmap recomendado por fases¶
Fase 0 - Handoff y decisiones¶
- revisar este reporte con el equipo La Directa;
- validar estado real de los
10drafts en WooCommerce Admin; - cerrar politicas de sin stock, sin precio, sin imagen y
VARIOS; - confirmar fuente de imagenes.
Fase 1 - Catalogo seguro¶
- ejecutar discovery read-only actualizado de productos/categorias/marcas;
- generar matriz final de productos publicables/bloqueados;
- preparar segundo lote controlado, siempre
draft/hidden; - no activar sync ni publish masivo.
Fase 2 - Producto individual y UI B2B¶
- exponer pack/minimo/incremento/peso/volumen en metadata estable;
- definir
modo_ventayetiqueta_pack; - implementar producto individual con validaciones visibles;
- resolver imagenes.
Fase 3 - Clientes, precios y carrito¶
- obtener snapshot
SOURCE-001; - cerrar catalogo de listas;
- crear persistencia B2B solo con backup valido y autorizacion SQL write;
- conectar pricing server-side;
- validar carrito y checkout con dry-run antes de runtime.
Fase 4 - Observabilidad interna y comercial¶
- La Directa publica productores seguros Fase 2/3;
- OpenClaw consume metricas agregadas;
- dashboards de operaciones, pedidos, revenue, stock y checkout;
- alertas con baja cardinalidad y sin PII.
Fase 5 - Automatizacion controlada¶
- sync acotado por dominio: stock, precio, catalogo editorial, imagenes;
- idempotencia por SKU/hash;
- rollback logico;
- scheduler solo despues de gates repetibles y QA.
Riesgos y dependencias¶
| Riesgo | Impacto | Mitigacion |
|---|---|---|
| disenar UI con datos ficticios | layouts y reglas rotas al cargar datos reales | usar matriz de campos y estados reales |
| confundir bulto cerrado con bulto logistico | pedidos incorrectos | separar Unidades_x_Bulto, minimo e indicadores logisticos |
| precios/listas sin validar | venta a precio incorrecto | recalculo server-side y snapshot SOURCE-001 |
| stock no confiable | overselling o bloqueo falso | definir frecuencia, reserva y source of truth |
| publicar productos incompletos | mala UX y riesgo comercial | publish gate separado |
| secretos en logs/Git | incidente de seguridad | validar solo presencia, no imprimir valores |
| Grafana directo a DB Woo | riesgo operativo/PII | productores seguros y agregados |
| DDL B2B sin backup valido | riesgo de rollback | gate con backup valido fuera de Git |
Handoff de vuelta para el chat La Directa¶
Ver documento listo para pegar:
docs/tenants/ladirecta/ecommerce/HANDOFF-BACK-TO-WOOCOMMERCE-FRONT.md
Resumen para pegar:
OpenClaw tiene productos suficientes para avanzar con UI realista de catalogo B2B, pero no para activar sync productiva ni pricing por cliente sin nuevos gates. El frontend puede trabajar con nombre, SKU, marca, categoria, subcategoria, precio publico candidate, stock, pack, minimo, incremento candidate, peso y volumen. Faltan imagenes, modo de venta final, etiqueta de pack, reglas de publish, snapshot actualizado de clientes/listas, persistencia B2B real y productores seguros de metricas internas/comerciales.
Confirmacion de restricciones¶
Durante este trabajo:
- no se modifico
C:\APV\vps-woocommerce-ladirecta; - no se toco el VPS WooCommerce
1735349; - no se toco produccion;
- no se ejecuto SQL write;
- no se ejecuto sync/scheduler/cron/pipeline;
- no se llamo WooCommerce API;
- no se imprimieron credenciales ni secretos;
- no se modifico DNS, firewall ni WordPress.