feat(api): webhooks Monday en tiempo real + alertas de inventario cableadas
- Webhook Oportunidades: cambio de etapa dispara escaneo (Aparto→Apartado, Ganado→Venta) además del round-robin de leads por create_item - Acepta los nombres reales de los eventos de Monday: create_pulse/pulseId y update_column_value (verificados en vivo) - Token interno (X-Internal-Token) para que los syncs locales llamen POST /cotizaciones/alertas-inventario sin JWT de usuario - sync-estatus-maestro.py notifica los cambios aplicados al endpoint de alertas (actividad al vendedor con cotizaciones recientes) - Fix P1008 SQLite: escaneos del poll cron secuenciales + connection_limit=1 en DATABASE_URL - Webhooks registrados en Monday sobre https://frasa.consultoria-as.com (Leads create_item, Oportunidades change_column_value); crons quedan como red de seguridad - Docs: sección 0 en AUTOMATIZACIONES-MONDAY.md con la matriz de eventos y los quirks de Monday
This commit is contained in:
@@ -15,6 +15,10 @@ export const config = {
|
||||
nodeEnv: env('NODE_ENV', 'development'),
|
||||
databaseUrl: env('DATABASE_URL', 'file:./dev.db'),
|
||||
uploadsDir: path.resolve(process.cwd(), env('UPLOADS_DIR', './uploads')),
|
||||
// Token compartido para llamadas internas script→API corriendo en este mismo
|
||||
// host (sync de estatus → POST /api/cotizaciones/alertas-inventario). Vacío =
|
||||
// desactivado: el endpoint exige JWT de usuario como siempre.
|
||||
internalSyncToken: env('INTERNAL_SYNC_TOKEN', ''),
|
||||
monday: {
|
||||
apiKey: env('MONDAY_API_KEY'),
|
||||
apiUrl: env('MONDAY_API_URL', 'https://api.monday.com/v2'),
|
||||
|
||||
Reference in New Issue
Block a user