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,DELETEni cleanup enPDF-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.