Collega INAZ a Spark per sincronizzare anagrafiche, organigramma, presenze/assenze e centri di costo: obiettivi, valutazioni e report si appoggiano ai dati ufficiali HR/payroll.
Cosa sincronizziamo
Dipendenti (INAZ → Spark, notturno)
Organigramma / manager chain (INAZ → Spark, notturno)
Contratti, livelli, sedi (INAZ → Spark, notturno)
Presenze/Assenze (se modulo attivo) (INAZ → Spark, orario/notturno)
Centri di costo / unità organizzative (INAZ → Spark, notturno)
Campi custom chiave (se esposti) (INAZ → Spark, notturno)
A cosa serve
Onboarding/Offboarding automatico: creazione/sospensione utenti e ruoli da movimenti HR.
MBO con dati reali: presenze, costi, strutture aggiornate senza export manuali.
Governance: permessi in Spark allineati a sedi e centri di costo.
Reporting: avanzamento obiettivi e payout per reparto/centro di costo sempre allineati.
Come si configura (3 step)
Prerequisiti
Utente admin INAZ con permessi API/esportazioni.
Moduli attivi per presenze/assenze se vuoi sincronizzarli.
(Se richiesto) IP allowlist per connettore/endpoint.
Lato INAZ
Abilita API disponibili oppure pianifica export CSV via SFTP con i campi necessari.
Recupera endpoint/credenziali o definisci il job notturno (formati, delimitatori, fusi orari).
Lato Spark
Inserisci endpoint/credenziali, mappa i campi (email, matricola, manager, cost center).
Esegui import pilota su un’OU di test, quindi abilita i job periodici (notturno/orario).
Sicurezza & controllo accessi
Autenticazione: API Key / credenziali tecniche (in base al setup).
SSO: SAML/OIDC via IdP aziendale (Google Workspace / Microsoft Entra / Okta). SCIM: (opzionale / non disponibile nativo con INAZ).
Cifratura in transito/a riposo, audit log, least privilege (scopes minimi).
Mappature chiave
| Campo INAZ | Campo Spark | Tipo | Note |
|---|---|---|---|
| email_lavoro | string | chiave primaria per login | |
| matricola | employee_code | string | chiave tecnica secondaria |
| manager_matricola/email | manager | reference | risolto su email/employee_code |
| centro_costo | cost_center | string | permessi e reporting |
| unita_organizzativa | org_unit | string | gerarchia (fino a 6 livelli) |
| sede | site | string | normalizzare denominazioni |
| tipo_contratto | contract_type | enum | FT/PT/Apprendistato/Tempo |
| data_assunzione | hire_date | date | ISO 8601 |
| data_cessazione | termination_date | date | auto-deprovisioning |
| ore_presenza/assenze | attendance_hours | number | presenze/assenze (read-only) |
Endpoints / API
API INAZ (se incluse nel contratto): anagrafiche/organigramma/presenze.
CSV/SFTP: esportazioni pianificate da INAZ verso Spark (schema concordato).
(Se non disponibili: “opzionale / non disponibile”.)
Direzione, frequenza, limiti
Direzione: Pull INAZ → Spark (default). Push Spark → INAZ (opzionale / non disponibile).
Frequenza: notturno (anagrafiche/organigramma); orario/15’ (presenze, se richiesto).
Rate limits: rispettare limiti API; preferire batch con retry/backoff sugli errori 429.
Limitazioni & note
Campi custom disponibili solo se esposti in API/export.
Presenze/assenze richiedono il relativo modulo INAZ.
Gerarchie multi-sede supportate fino a 6 livelli.
Con CSV, definire encoding e separatore (consigliato UTF-8,
;).
Troubleshooting rapido
401/403: credenziali errate o IP non in allowlist → verifica utente tecnico e IP.
429 (rate limit): riduci dimensione batch o aumenta l’intervallo tra job.
Record scartati: email mancante/duplicata → imposta chiave primaria (email; fallback matricola).
Gerarchia interrotta: manager non risolto → importa prima i manager o mappa per email.
Disallineamento presenze: fuso orario/periodo errato → uniforma timezone e cut-off.
FAQ
È bidirezionale? Di default solo lettura da INAZ a Spark.
Quanto impiega il primo sync? 10–60 min per 1–5k dipendenti (dipende da campi/moduli).
Come gestite i duplicati? Chiave email con fallback matricola; regole di merge configurabili.









