# Script di Analisi Soci - Duxiter ## Descrizione Questo script automatizza l'analisi dei soci di un'azienda utilizzando i dati disponibili nel sistema Duxiter. Lo script effettua il login, recupera i dati societari per un RUT specifico e analizza le informazioni sui soci utilizzando sia analisi manuale che AI. ## Funzionalitร  ### ๐Ÿ” Autenticazione - Login automatico con credenziali configurate - Gestione sicura del token JWT - Supporto per diversi ruoli utente ### ๐Ÿ” Ricerca Dati - Recupero dati societari completi per RUT - Accesso a `mallaSocietariaData` e `officialDiaryData` - Estrazione di `companyGeneralInfo` ### ๐Ÿ“Š Analisi Manuale - Identificazione automatica dei soci attuali - Estrazione degli amministratori - Determinazione della data di costituzione - Tracciamento delle modifiche societarie ### ๐Ÿค– Analisi AI (Opzionale) - Analisi avanzata tramite intelligenza artificiale - Interpretazione contestuale dei dati - Identificazione di pattern complessi ### ๐Ÿ“„ Report Dettagliato - Generazione di report JSON strutturati - Riassunto leggibile in console - Salvataggio automatico con timestamp ## Configurazione ### Credenziali di Login ```javascript const LOGIN_CREDENTIALS = { email: 'edeik@azurian.com', password: 'Emilio3465#' }; ``` ### RUT Target ```javascript const TARGET_RUT = '89907300-2'; ``` ### URL del Server ```javascript const BASE_URL = 'http://localhost:4040/api'; ``` ## Installazione 1. **Installa le dipendenze:** ```bash npm install axios ``` 2. **Verifica che il server Duxiter sia in esecuzione:** ```bash ps aux | grep node | grep -v grep ``` ## Utilizzo ### Esecuzione Base ```bash node analyze-socios-script.js ``` ### Come Modulo ```javascript import SociosAnalyzer from './analyze-socios-script.js'; const analyzer = new SociosAnalyzer(); analyzer.run(); ``` ## Output ### Console Output Lo script fornisce un output dettagliato in console con: - ๐Ÿš€ Stato di avvio - ๐Ÿ” Conferma login - ๐Ÿ” Progresso ricerca dati - ๐Ÿ“Š Risultati analisi - ๐Ÿ“„ Percorso file report ### Report JSON Il report viene salvato come file JSON con la seguente struttura: ```json { "timestamp": "2025-09-07T10:20:38.471Z", "rut": "89907300-2", "razonSocial": "KPMG AUDITORES CONSULTORES LIMITADA", "analisiManuale": { "socios": [ { "nombre": "CLAUDIO DรAZ ANDRADE", "rut": "10533271-8", "domicilio": "ROSARIO NORTE 660, PISO 24, LAS CONDES, REGIร“N METROPOLITANA" } ], "administradores": [], "fechaConstitucion": "1993-01-01", "modificacionesSocietarie": [] }, "analisiAI": null, "riassunto": { "numeroSoci": 1, "numeroAmministratori": 0, "dataCostituzione": "1993-01-01", "modificheSocietarie": 0 } } ``` ## Esempio di Risultato ``` ============================================================ ๐Ÿ“Š ANALISI SOCI - RIASSUNTO ============================================================ ๐Ÿข Azienda: KPMG AUDITORES CONSULTORES LIMITADA ๐Ÿ†” RUT: 89907300-2 ๐Ÿ“… Data Costituzione: 1993-01-01 ๐Ÿ‘ฅ SOCI (1): 1. CLAUDIO DรAZ ANDRADE RUT: 10533271-8 Domicilio: ROSARIO NORTE 660, PISO 24, LAS CONDES, REGIร“N METROPOLITANA ๐Ÿ‘จโ€๐Ÿ’ผ AMMINISTRATORI (0): Nessun amministratore trovato nei dati disponibili. ============================================================ ``` ## Fonti Dati Analizzate ### 1. mallaSocietariaData - `empresaEnUnDia`: Dati storici delle modifiche societarie - `socios`: Lista dei soci attuali - `administradores`: Lista degli amministratori - `diarioOficial`: Pubblicazioni nel diario ufficiale ### 2. officialDiaryData - `data`: Dati ufficiali pubblicati - `socios`: Informazioni sui soci da fonti ufficiali ### 3. companyGeneralInfo - `socios`: Soci consolidati - `administradores`: Amministratori consolidati - `fechaDeConstitucion`: Data di costituzione - `rapresentanteLegal`: Rappresentante legale ## Gestione Errori - **Errore di Login**: Verifica credenziali e connessione server - **RUT Non Trovato**: Controlla che il RUT esista nel database - **Analisi AI**: โœ… **FUNZIONANTE** - L'endpoint `/api/ai/analyze` รจ ora disponibile e utilizza OpenAI per insights approfonditi - **Errori di Rete**: Retry automatico per operazioni critiche ## Personalizzazione ### Cambiare RUT Target ```javascript const TARGET_RUT = 'NUOVO-RUT-QUI'; ``` ### Modificare Credenziali ```javascript const LOGIN_CREDENTIALS = { email: 'nuovo@email.com', password: 'nuova-password' }; ``` ### Aggiungere Nuove Analisi Estendi la classe `SociosAnalyzer` con nuovi metodi di analisi: ```javascript class ExtendedSociosAnalyzer extends SociosAnalyzer { customAnalysis(data) { // La tua analisi personalizzata } } ``` ## Sicurezza - โš ๏ธ **Non committare credenziali**: Usa variabili d'ambiente per credenziali sensibili - ๐Ÿ”’ **Token JWT**: Gestiti automaticamente e scadono dopo 7 giorni - ๐Ÿ›ก๏ธ **Validazione Input**: Tutti gli input sono validati prima dell'uso ## Troubleshooting ### Server Non Raggiungibile ```bash # Verifica che il server sia in esecuzione ps aux | grep node # Controlla le porte aperte netstat -tlnp | grep node ``` ### Credenziali Invalide - Verifica email e password - Controlla che l'utente sia attivo nel sistema - Verifica i permessi dell'utente ### Dati Mancanti - Alcuni RUT potrebbero non avere dati completi - Verifica che il RUT sia stato processato dal sistema Sheriff ## Supporto Per supporto tecnico o domande: - Controlla i log del server in `/root/duxiter/server/logs/` - Verifica la documentazione API in `http://localhost:4040/api/docs` - Consulta il codice sorgente per dettagli implementativi --- **Versione**: 1.0.0 **Ultimo Aggiornamento**: Settembre 2025 **Compatibilitร **: Node.js 18+, Duxiter API v1