Documento 03 · Marketplace SMC
Requirements
Funcionales agrupados por fase Y1 + no funcionales cross · alineado con Doc 17 Estrategia Y1.
01Sistema de priorización
🎯 Hilo conductor · Estrategia Y1 Reputation First
Toda priorización Y1 sigue la Estrategia Y1 · Reputation First (ver Doc 17). Features se agrupan por la fase Y1 que habilitan. Features que NO mueven el hito de fase actual son P3-P4.
- Q4 2026 → Q1 2027 · Fase 1 Reputación · publicar fotos pro · reputación verde · 10 ventas verdes
- Q1 2027 → Q2 2027 · Fase 2 Escala MeLi · ads · Full Fulfillment · escalado volumen
- Q2 2027 → Q3 2027 · Fase 3 Diversificación · D2C · MP · B2B · dropshipping
- Q3 2027+ · Fase 4 Consolidación · analytics · conciliación · break-even
| Nivel | Etiqueta | Significa |
|---|
| P1 | Crítico | Sin esto la fase Y1 actual NO avanza · habilita hito de la fase |
| P2 | Importante | Necesario fase siguiente · puede esperar 1-2 sprints |
| P3 | Deseable | Mejora UX · agrega valor · planificable Q3-Q4 Y1 o Y2 |
| P4 | Opcional | Nice-to-have · solo si hay capacidad sobrante |
02FR-Y1F1 · Fase 1 Reputación (Q4-26 → Q1-27)
Hito fase: 10 ventas verdes MeLi · reputación verde mantenida · 3 founders confiando en el sistema.
FR-Y1F1-01P1 · El sistema debe permitir crear producto con SKU master + fotos propias profesionales (BR-001 valida >800px · no fotos stock).
FR-Y1F1-02P1 · El sistema debe mantener inventario físico real-time con stock_real + stock_reserved.
FR-Y1F1-03P1 · El sistema debe publicar SKU a MeLi vía OAuth 2.0 PKCE · token storage seguro · refresh 6h.
FR-Y1F1-04P1 · El sistema debe procesar webhooks MeLi con HMAC SHA-256 + idempotency UUID v7 (TTL 24h).
FR-Y1F1-05P1 · El sistema debe descontar stock con SELECT FOR UPDATE para evitar oversell concurrente.
FR-Y1F1-06P1 · El sistema debe emitir DTE 39 (boleta) o 33 (factura RUT empresa) vía Open Factura con retry exponencial 5x.
FR-Y1F1-07P1 · El sistema debe cotizar courier (Chilexpress · Starken) y generar etiqueta PDF descargable.
FR-Y1F1-08P1 · El sistema debe enviar email tracking al comprador vía Resend.
FR-Y1F1-09P1 · El sistema debe trackear reputación MeLi (score · medalla · alertas amarillo/rojo) vía cron 1h refresh.
FR-Y1F1-10P2 · El sistema debe ofrecer chat Cerebro con SSE streaming (<600ms first token) · rate limit 60 msg/día/founder.
03FR-Y1F2 · Fase 2 Escala MeLi (Q1-27 → Q2-27)
Hito fase: 50 ventas/mes · costo CAC controlado · Full Fulfillment activo o evaluado.
FR-Y1F2-01P1 · El sistema debe gestionar campañas Mercado Ads (mismo OAuth MeLi) · presupuesto · creatividades · ROAS tracking.
FR-Y1F2-02P1 · El sistema debe alertar ROAS <1.5 por 7 días con sugerencia pausa automática.
FR-Y1F2-03P2 · El sistema debe evaluar y/o gestionar Full Fulfillment MeLi (envío de stock a bodega MeLi · sincronización stock).
FR-Y1F2-04P2 · El sistema debe sugerir top SKUs a re-comprar según rotación (Cerebro analytics sin LLM).
FR-Y1F2-05P2 · El sistema debe gestionar medallas MeLi (Mercado Líder Gold/Platinum) con tracker.
04FR-Y1F3 · Fase 3 Diversificación (Q2-27 → Q3-27)
Hito fase: ≥30% revenue fuera de MeLi · 1 adjudicación MP + 1 cliente B2B real + D2C operativo.
FR-Y1F3-01P1 · El sistema debe operar D2C storefront propio en marketplace.smconnection.cl con checkout WebPay Plus o MercadoPago.
FR-Y1F3-02P1 · El sistema debe sincronizar Mercado Público diariamente 8am (cron) con licitaciones afines vía pg_trgm fuzzy match.
FR-Y1F3-03P1 · El sistema debe ofrecer portal B2B con RFQ workflow + cotización custom + aprobación HMAC.
FR-Y1F3-04P1 · El sistema debe operar modo dropshipping (Supplier Adapter Pattern · ADR-0003) propagando OC al proveedor.
FR-Y1F3-05P1 · El sistema debe detectar trigger migración dropship → stock local (SKU >$5K/mes sostenido 2 meses).
FR-Y1F3-06P2 · El sistema debe emitir DTE 33 (factura) y DTE 52 (guía electrónica) para clientes institucionales MP.
05FR-Y1F4 · Fase 4 Consolidación (Q3-27+)
Hito fase: break-even operacional · F22 anual proyectado positivo · 3 founders <30h/sem cada uno en operación.
FR-Y1F4-01P1 · El sistema debe correr conciliación financiera mensual (cron 1ro mes) matching pagos vs DTE.
FR-Y1F4-02P1 · El sistema debe generar resumen F29 mensual (ventas afectas + IVA débito + IVA crédito) listo upload SII.
FR-Y1F4-03P2 · El sistema debe forecastear flujo de caja 30/60/90 días.
FR-Y1F4-04P2 · El sistema debe pre-generar F22 anual con saldos contables del año.
FR-Y1F4-05P2 · El sistema debe calcular margen real por SKU = Precio − Landed − Comisión canal − Logística − IVA débito.
FR-Y1F4-06P2 · El sistema debe mostrar dashboard consolidado: revenue · margen · órdenes · split por canal + drill-down.
06FR-CROSS · Cross-cutting (todas las fases)
Foundations que habilitan TODAS las fases · no asociadas a una fase específica.
Auth + tenancy
FR-X-AUTH-01P1 · El sistema debe autenticar founders con Supabase Auth + JWT con tenant_id implícito.
FR-X-AUTH-02P1 · El sistema debe exigir 2FA TOTP para todos los admins.
FR-X-AUTH-03P2 · El sistema debe rotar tokens OAuth (MeLi · MP) automáticamente antes de expirar.
DB + persistencia
FR-X-DB-01P1 · El sistema debe implementar RLS Postgres en TODAS las tablas con tenant_id.
FR-X-DB-02P1 · El sistema debe registrar audit log append-only de toda mutación crítica (financiera · DTE · cambios stock).
FR-X-DB-03P1 · El sistema debe correr pg_notify para sync cross-canal cuando inventory cambia.
Adapter patterns
FR-X-ADP-01P1 · El sistema debe implementar Channel Adapter Pattern (ADR-0002) · 4 canales con interface única.
FR-X-ADP-02P1 · El sistema debe implementar Supplier Adapter Pattern (ADR-0003) para dropshipping.
FR-X-ADP-03P2 · Agregar canal o proveedor nuevo debe requerir solo 1 archivo nuevo (NO refactor core).
Cerebro IA
FR-X-AI-01P2 · El sistema debe usar fallback chain Groq → Gemini → DeepSeek vía OpenRouter (NUNCA Claude).
FR-X-AI-02P2 · El sistema debe loggear cada llamada IA en mkt_ai_logs (provider · tokens · cost · latency · cache_hit).
FR-X-AI-03P2 · El sistema debe auto-throttle si cost IA diario >80% budget.
Webhooks + integraciones
FR-X-WH-01P1 · El sistema debe recibir webhooks de canales externos con HMAC SHA-256 obligatorio (timingSafeEqual).
FR-X-WH-02P1 · El sistema debe rechazar requests sin idempotency_key en POSTs críticos.
07NFR-Y1 · No funcionales cross
Performance budgets
| ID | Métrica | Target Y1 | Prio |
|---|
| NFR-Y1-P-01 | API GET p95 | < 350ms | P1 |
| NFR-Y1-P-02 | API POST p95 | < 600ms | P1 |
| NFR-Y1-P-03 | LCP Dashboard founder | < 2.5s | P1 |
| NFR-Y1-P-04 | INP Dashboard | < 200ms | P2 |
| NFR-Y1-P-05 | Webhook MeLi ack | < 500ms | P1 |
| NFR-Y1-P-06 | Sync inventory cross-canal | < 30s | P1 |
| NFR-Y1-P-07 | Cerebro first token SSE | < 600ms | P2 |
| NFR-Y1-P-08 | Build CI | < 3 min | P3 |
| NFR-Y1-P-09 | Bundle client gzipped | < 250KB | P2 |
Security
NFR-Y1-S-01P1 · TLS 1.3 obligatorio + HSTS preload.
NFR-Y1-S-02P1 · AES-256 at rest (Supabase default).
NFR-Y1-S-03P1 · service_role solo en backend · NUNCA NEXT_PUBLIC_*.
NFR-Y1-S-04P1 · Cookies httpOnly + SameSite=lax.
NFR-Y1-S-05P1 · CSP headers estrictos + report-uri.
NFR-Y1-S-06P1 · Rate limit 60 req/min/user · 600 req/min/IP vía Upstash Redis.
NFR-Y1-S-07P2 · OWASP ZAP scan QAS sin high/medium vulnerabilities.
Escalabilidad
NFR-Y1-SC-01P1 · Multi-tenant nativo · RLS por tenant_id en TODAS las tablas (ready Y3+ sharding).
NFR-Y1-SC-02P1 · Channel + Supplier Adapter Pattern · canal/proveedor nuevo = 1 archivo (no refactor).
NFR-Y1-SC-03P2 · Soportar 100 órdenes/hora por tenant sin degradación.
NFR-Y1-SC-04P2 · Soportar 10K SKUs por tenant.
Compliance Chile
NFR-Y1-C-01P1 · Ley 19.628 protección datos personales · consent management.
NFR-Y1-C-02P1 · DTE válidos SII (XML según normativa Open Factura).
NFR-Y1-C-03P1 · Libro IVA digital ventas + compras (Resolución SII).
NFR-Y1-C-04P2 · Régimen 14D N°3 Pro-PYME General (cálculo automático).
NFR-Y1-C-05P2 · Alertas vencimientos: F30 · F30-1 · garantías · ChileProveedores.
NFR-Y1-C-06P3 · Pre-generar F22 anual con saldos contables del año.
08Mapping requirements → sprints (Doc 18)
| Fase Y1 |
Sprints (Doc 18) |
Requirements |
| Cross foundations |
Sprint 1-2 Q4-26 |
FR-CROSS- + NFR-Y1-S- + NFR-Y1-SC-01/02 |
| Fase 1 Reputación |
Sprint 2-4 Q4-26 → Q1-27 |
FR-Y1F1-01 a FR-Y1F1-10 |
| Fase 2 Escala |
Sprint 5-6 Q1-27 → Q2-27 |
FR-Y1F2-01 a FR-Y1F2-05 |
| Fase 3 Diversificación |
Sprint 7-9 Q2-27 → Q3-27 |
FR-Y1F3-01 a FR-Y1F3-06 |
| Fase 4 Consolidación |
Sprint 10+ Q3-27+ |
FR-Y1F4-01 a FR-Y1F4-06 |