65 lines
2.8 KiB
Markdown
65 lines
2.8 KiB
Markdown
# Variables de entorno (Botino)
|
|
|
|
## Variables usadas (runtime)
|
|
|
|
### Core
|
|
|
|
- **`PORT`**: puerto del servidor (default `3000`).
|
|
- **`TENANT_KEY`**: key por defecto para resolver tenant (default `piaf`).
|
|
- **`DATABASE_URL`**: conexión Postgres.
|
|
- **`PG_POOL_MAX`**: tamaño del pool (default `10`).
|
|
- **`PG_IDLE_TIMEOUT_MS`**: idle timeout (default `30000`).
|
|
- **`PG_CONN_TIMEOUT_MS`**: connection timeout (default `5000`).
|
|
- **`APP_ENCRYPTION_KEY`**: clave para desencriptar credenciales Woo en Postgres (`tenant_ecommerce_config`).
|
|
|
|
### OpenAI
|
|
|
|
- **`OPENAI_API_KEY`** (o `OPENAI_APIKEY`): API key.
|
|
- **`OPENAI_MODEL`**: modelo (default `gpt-4o-mini`).
|
|
|
|
### Turn Engine
|
|
|
|
- **`TURN_ENGINE`**: motor de turnos. Valores:
|
|
- `v1` (default): pipeline actual (heurísticas + guardrails + LLM plan final).
|
|
- `v2`: “LLM-first NLU, deterministic core” (nuevo motor detrás de feature flag).
|
|
|
|
### WooCommerce (solo fallback si falta config por tenant)
|
|
|
|
- **`WOO_CONSUMER_KEY`**: consumer key (se usa solo si en `tenant_ecommerce_config` falta `consumer_key`).
|
|
- **`WOO_CONSUMER_SECRET`**: consumer secret (idem).
|
|
|
|
### Evolution API (WhatsApp)
|
|
|
|
Variables para el envío de mensajes a WhatsApp via Evolution API.
|
|
|
|
- **`EVOLUTION_API_URL`**: URL base de Evolution API (ej: `https://api.evolution.com`).
|
|
- **`EVOLUTION_API_KEY`**: API key para autenticación (header `apikey`).
|
|
- **`EVOLUTION_INSTANCE_NAME`**: nombre de la instancia de WhatsApp (ej: `piaf`).
|
|
- **`EVOLUTION_SEND_ENABLED`**: habilita/deshabilita el envío real a WhatsApp.
|
|
- `0` (default): Solo guarda mensajes en BD, NO envía a WhatsApp. Ideal para desarrollo/pruebas.
|
|
- `1`: Envía mensajes realmente a WhatsApp. Para producción.
|
|
|
|
**Flujo:**
|
|
1. Bot recibe mensaje de Evolution via webhook (`/webhook/evolution`)
|
|
2. Procesa el mensaje y genera respuesta
|
|
3. Guarda respuesta en BD (`direction: "out"`)
|
|
4. Si `EVOLUTION_SEND_ENABLED=1`, envía respuesta a Evolution API → WhatsApp
|
|
|
|
**Endpoint usado:** `POST {EVOLUTION_API_URL}/message/sendText/{instance}`
|
|
|
|
## Debug por temas (nuevo)
|
|
|
|
Todos aceptan `1/true/yes/on` para activar.
|
|
|
|
- **`DEBUG_PERF`**: perf/timings (pipeline + webhook evolution).
|
|
- **`DEBUG_WOO_HTTP`**: requests/responses a Woo (status/timing/len).
|
|
- **`DEBUG_WOO_PRODUCTS`**: cache/búsquedas de productos Woo.
|
|
- **`DEBUG_LLM`**: requests/responses a OpenAI.
|
|
- **`DEBUG_EVOLUTION`**: logs del hook evolution (además de perf).
|
|
- **`DEBUG_DB`**: reservado para instrumentar queries DB (no está verboso aún).
|
|
- **`DEBUG_RESOLVE`**: debug de resolución/ambiguity (pipeline).
|
|
|
|
## Notas importantes
|
|
|
|
- En producción multi-tenant, Woo se toma de Postgres (`tenant_ecommerce_config`). Si restaurás WordPress y cambian keys/base_url, **tenés que actualizar esa tabla** para el tenant correspondiente; no alcanza con regenerar keys en WP si Botino sigue leyendo las viejas desde Postgres.
|