Saltar a contenido

PDF-011K - Customer Activation Writer Contract

Estado: PDF-011K CUSTOMER ACTIVATION WRITER CONTRACT / LOCAL DEV / SIN SQL WRITE

Fecha: 2026-06-24

Objetivo

Preparar el contrato del writer controlado para solicitudes de alta ecommerce de La Directa. Este gate solo genera payloads candidate, email candidate y cleanup candidate; no ejecuta SQL write, no envia emails reales y no toca WooCommerce.

Ambiente

  • Tipo: local/dev.
  • DB objetivo futura: gestion_de_negocios_core.
  • Schema objetivo futuro: business_observer.
  • Tablas creadas por PDF-011I.

Que Escribiria El Writer

En un gate futuro autorizado, el writer podria preparar inserts controlados en:

  • business_observer.ecommerce_customer_requests.
  • business_observer.ecommerce_customer_request_audit.

El estado inicial para contacto nuevo sin codigo SGC seria PENDING_SGC_REVIEW.

Que NO Escribe

  • No guarda passwords.
  • No crea usuarios WooCommerce.
  • No escribe en business_observer.clientes_ecommerce.
  • No escribe en business_observer.customer_activation_audit.
  • No ejecuta INSERT, UPDATE, DELETE ni cleanup en PDF-011K.
  • No envia emails reales.

Payload Candidate

El script local prepara un payload sanitizado para business_observer.ecommerce_customer_requests con tenant ladirecta, razon social sanitizada, CUIT sanitizado, email sanitizado, telefono sanitizado, domicilio fiscal, domicilio pedido, rubro, comentario y estado PENDING_SGC_REVIEW.

Tambien prepara audit candidate para business_observer.ecommerce_customer_request_audit con evento REQUEST_PREPARED_CANDIDATE y metadata PDF-011K.

Casos

  • Contacto nuevo sin codigo SGC: PENDING_SGC_REVIEW, payload candidate, audit candidate y email candidate a facturacion.
  • Cliente existente SGC: ACTIVATION_READY_CANDIDATE, sin guardar password, sin crear usuario WooCommerce y sin write.
  • Codigo/CUIT no coinciden: VALIDATION_BLOCKED, mensaje generico y no write.
  • Email duplicado: EMAIL_ALREADY_USED_CANDIDATE, no write y revision previa.

Email Candidate

Destino: facturacion@ladirecta.com.ar.

Asunto: Nueva solicitud de alta cliente ecommerce - La Directa.

Modo: DRY_RUN_NOT_SENT.

El cuerpo candidate usa datos sanitizados: razon social, CUIT, email, telefono, domicilio fiscal, domicilio pedido, rubro, comentario y estado PENDING_SGC_REVIEW.

Cleanup Candidate

El cleanup candidate queda documentado solo para un gate futuro:

```sql -- CANDIDATE ONLY - DO NOT RUN IN PDF-011K DELETE FROM business_observer.ecommerce_customer_request_audit WHERE event_payload->>'source' = 'PDF-011K';

DELETE FROM business_observer.ecommerce_customer_requests WHERE request_source = 'pdf011k_candidate'; ```

Hostinger Secret

Ruta local real verificada sin imprimir valores:

text C:\APV\openclawai\.venv-portal\secrets\ladirecta-hostinger-email.env

Referencia historica/candidate:

text C:\APV\openclawai.venv-portal\secrets\ladirecta-hostinger-email.env

Si no existe secret, queda PENDING_SECRET / PENDING_SMTP_CONFIG. Si existe, solo se informa PRESENT_VALUE_SUPPRESSED / PENDING_SMTP_CONFIG. No se imprime ningun valor y no se envia email real.

Seguridad

  • No se ejecuto SQL write.
  • No se insertaron datos.
  • No se actualizaron datos.
  • No se borraron datos.
  • No se enviaron emails reales.
  • No se toco WooCommerce API.
  • No se crearon usuarios WooCommerce.
  • No se modifico .env.
  • No se imprimieron secrets, passwords ni datos personales reales completos.
  • No se tocaron datos.
  • No se toco VPS/prod con datos.
  • No se activo runtime, sync, scheduler, cron ni pipelines.

GO / NO-GO

Resultado: PDF-011K = GO WRITER CONTRACT LOCAL DEV / SIN SQL WRITE.

Sigue NO-GO para produccion, SQL write, emails reales, WooCommerce API, creacion de usuarios y runtime.

Proximo Paso

Ejecutar un gate separado de writer local/dev controlado, con autorizacion explicita para SQL write, transaccion auditada, rollback/cleanup probado y post-checks read-only.