Collega TeamSystem a Spark per sincronizzare anagrafiche, organigramma, presenze/assenze e centri di costo: obiettivi, valutazioni e report usano dati già validati dall’HR/payroll.
Cosa sincronizziamo
Dipendenti (TeamSystem → Spark, notturno)
Organigramma / manager chain (TeamSystem → Spark, notturno)
Contratti, livelli, sedi (TeamSystem → Spark, notturno)
Presenze/Assenze (se modulo attivo) (TeamSystem → Spark, orario/notturno)
Centri di costo / unità organizzative (TeamSystem → Spark, notturno)
Campi custom chiave (se esposti) (TeamSystem → Spark, notturno)
A cosa serve
Onboarding/Offboarding automatico: creazione e sospensione utenti/ruoli da movimenti HR.
MBO con dati reali: presenze, costi e 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 TeamSystem con permessi API/esportazioni.
Moduli attivi per presenze/assenze se vuoi sincronizzarli.
(Se richiesto) IP allowlist per il connettore.
Lato TeamSystem
Abilita API o 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, poi abilita i job periodici (notturno/orario).
Sicurezza & controllo accessi
Autenticazione: API Key / credenziali tecniche (in base al setup).
SSO: SAML/OIDC tramite IdP aziendale (Google Workspace / Microsoft Entra / Okta). SCIM: (opzionale / non disponibile nativo con TeamSystem).
Cifratura in transito/a riposo, audit log, principle of least privilege (scopes minimi).
Mappature chiave
| Campo TeamSystem | 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 | per 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/Temp |
| 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 TeamSystem (se incluse nel contratto): endpoint HR anagrafiche/organigramma/presenze.
CSV/SFTP: esportazioni pianificate da TeamSystem verso Spark (schema concordato).
(Inserisci link/doc interni del tuo ambiente; in mancanza: “opzionale / non disponibile”.)
Direzione, frequenza, limiti
Direzione: Pull TeamSystem → Spark (default). Push Spark → TeamSystem (opzionale / non disponibile).
Frequenza: notturno (anagrafiche/organigramma); orario/15’ (presenze, se richiesto).
Rate limits: rispettare limiti API e preferire batch; backoff sugli errori 429.
Limitazioni & note
Campi custom disponibili solo se esposti in API/export.
Presenze/assenze richiedono il relativo modulo TeamSystem.
Gerarchie multi-sede supportate fino a 6 livelli.
Se usi CSV, definisci regole di 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 la dimensione dei batch o aumenta l’intervallo.
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 TeamSystem 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.









