Due sistemi che si rifiutano di parlarsi. Li facciamo parlare, e continuano a farlo.
Middleware API, sincronizzazioni pianificate, pipeline di webhook e il monitoraggio che ti dice che un job è fallito prima che te lo dica un collega.
Sistemi
Dove i tuoi dati vivono già
- Bullhorn
- Candidati, contatti e posizioni allineati con i career site e con la reportistica, attraverso la sua API REST.
- Salesforce
- Account, opportunità e oggetti personalizzati sincronizzati con fatturazione e delivery.
- ServiceNow
- Ticket, richieste e record CMDB creati dove il lavoro nasce, non ribattuti a mano.
- UKG
- Dati di persone, organigramma e presenze spostati fra l'HR e i sistemi che ne dipendono.
- Sistemi custom e legacy
- Applicazioni interne, ERP con dieci anni di modifiche locali, drop su SFTP, viste SQL, endpoint SOAP, il foglio di calcolo che tiene su tutto.
Recruiting
CRM
Service management
HR & workforce
Tutto il resto
Siamo una squadra di ingegneri indipendente, non un rivenditore né un partner certificato di questi vendor: lavoriamo sulle loro API documentate, con credenziali che emetti e revochi tu.
Quello che troviamo di solito
L'integrazione che hai oggi è una persona
- Copia e incolla a mano fra i sistemi
- Esporta, riformatta, incolla. Funziona finché quella persona non va in ferie, e mette un tetto alla velocità del processo.
- Dati duplicati che hanno iniziato a divergere
- Tre sistemi, tre versioni della verità, nessuna regola su quale vince. La reportistica diventa una discussione, non un numero.
- Nessun proprietario del flusso
- Ogni sistema ha un proprietario; lo spazio fra i sistemi non ce l'ha. Girano script di qualcuno che se n'è andato, su una macchina che nessuno ha il coraggio di riavviare.
- Processi che non puoi osservare
- Quando una sincronizzazione si ferma, non te lo dice nessuno. Lo scopri giorni dopo, senza un log per ricostruire cosa è andato perso.
01
02
03
04
Dicci quali sono i due sistemi e quale dato deve spostarsi.
Ti rispondiamo con le interfacce disponibili, i punti dove si rompe e cosa costruiremmo per primo.
Cosa costruiamo
Uno strato che puoi osservare, tracciare e spegnere
- Middleware API
- Un solo servizio testato si occupa di autenticazione, mappatura dei campi, validazione e regole di business.
- Sincronizzazione pianificata
- Job incrementali che spostano solo quello che è cambiato, con watermark che permettono a un riavvio di riprendere da dove era. Una riconciliazione completa, più lenta, intercetta le derive.
- Webhook e pipeline di eventi
- Verifica della firma, una coda dietro l'endpoint perché un consumer lento non perda mai una consegna, replay dai payload conservati.
- Dashboard di controllo
- Ultima esecuzione riuscita, record in ingresso e in uscita, errori aperti e un pulsante di retry che non richiede di aprire un ticket con noi.
Comportamento in caso di errore
Cosa fa il sistema quando qualcosa va storto
Le integrazioni si rompono alle 02:00 di domenica: un 503, un payload che ha cambiato forma, una consegna duplicata. È la parte che progettiamo per prima.
Retry con backoff
Timeout, 429 e 5xx vengono ritentati con una progressione esponenziale, con jitter e un numero massimo di tentativi: un sistema di destinazione in difficoltà non viene martellato dal nostro traffico.
Idempotenza
Le scritture sono agganciate a un identificativo di business stabile, o a una idempotency key dove la destinazione la supporta: rigiocare due volte lo stesso messaggio produce un solo record. È questo che rende sicuri retry e replay.
Dead letter queue
I messaggi che continuano a fallire dopo i tentativi vengono parcheggiati con il payload originale, l'errore e il correlation id. Niente viene scartato in silenzio, e una volta corretto il problema il batch si può rigiocare.
Alert che arrivano a una persona
Esecuzioni fallite, dead letter oltre una soglia e job che non sono partiti affatto generano un alert sul canale che il tuo team già guarda. Un heartbeat che manca conta come un errore.
Rollback e cutover sicuri
I deploy sono versionati e reversibili. Un feature switch mette in pausa un flusso senza bisogno di un rilascio e lo riporta al comportamento precedente mentre si prepara la correzione.
Tracciabilità
Ogni record porta un correlation id attraverso i log: «da dove arriva questo valore, e quando» diventa una query, non un'indagine.
Un caso che puoi aprire
Un'integrazione spenta senza rompere niente.
Gran parte del nostro lavoro è coperta da accordi di riservatezza. Questo no, ed è online.
Per Automobili Zupi il catalogo pubblico si sincronizzava ogni ora con Multigestionale Motori, il gestionale con cui le concessionarie pubblicano gli annunci su Subito.it. Aggiornamento delle sole auto cambiate, archiviazione invece di cancellazione per quelle uscite dal listino, immagini scaricate in locale senza mai sovrascrivere quelle caricate a mano dal salone.
Quando il fornitore ha limitato l'accesso all'API, la sincronizzazione è stata fermata con un comando: catalogo in piedi, dati inseriti a mano intatti, nessun record perso. È il motivo per cui il comportamento in caso di errore lo progettiamo per primo — lo spegnimento è uno di quei casi, e prima o poi arriva.
Architettura & sicurezza
Come è costruito e chi può vedere cosa
Credenziali
Service account emessi da te, con i soli permessi che servono all'integrazione, conservati in un secret manager e ruotabili senza toccare il codice. Nessuna utenza personale condivisa.
Dati in transito e a riposo
TLS su tutto, storage cifrato, log ripuliti dai campi che segnali come sensibili. Conservazione e regione di hosting concordate prima di trattare dati reali.
Ambienti
Sviluppo e staging girano sulle sandbox dei vendor, non sui dati di produzione. La promozione fra ambienti segue sempre lo stesso percorso automatizzato.
Monitoraggio
Health check, storico delle esecuzioni, volumi e tassi di errore, nella tua dashboard e negli strumenti di osservabilità che già usi.
Come lavoriamo
Dalla mappa del flusso all'integrazione in produzione
Mappare il flusso
Quali dati si spostano, in che direzione, innescati da cosa, e chi è il proprietario di ogni campo.
Verificare le interfacce
Permessi, rate limit e i punti in cui l'API non arriva dove il processo avrebbe bisogno. Provato su sandbox, non su una slide.
Costruire la fetta minima utile
Una direzione, un tipo di record, end to end, con logging e retry già dal primo commit.
Farlo girare in parallelo, poi passare
Il nuovo flusso gira accanto a quello vecchio, riconciliato, e prende il posto del precedente solo quando i numeri combaciano.
Consegnare i comandi
Dashboard, alert, runbook e codice in mano tua. Puoi tenerci accanto mentre i sistemi evolvono, oppure no.
Non sei ancora sicuro che valga la pena costruire l'integrazione?
Raccontaci il flusso. Se la risposta è una modifica di configurazione in uno strumento che hai già, te lo diciamo.
Le domande che ci fanno
Prima di scriverci
Quali sistemi riuscite a integrare?
Tutto ciò che ha un'API, un webhook, un database che possiamo leggere o uno scambio di file pianificato: Bullhorn, Salesforce, ServiceNow, UKG, oltre ai sistemi interni e su misura. Quando un prodotto non espone un'interfaccia utilizzabile per quello che ti serve, lo diciamo in fase di discovery invece di costruirgli intorno qualcosa di fragile.
Siete partner ufficiali o rivenditori di quelle piattaforme?
No. Siamo una squadra di ingegneri indipendente: lavoriamo sulle API pubbliche documentate dell'edizione che hai già in licenza, con credenziali che i tuoi amministratori emettono e possono revocare. Qualsiasi funzione o add-on riservato ai partner resta una decisione fra te e il vendor.
Di chi è l'integrazione una volta in produzione?
Tua: il codice, il repository, le definizioni dell'infrastruttura e il runbook. Possiamo continuare a gestirla noi, consegnarla con una sessione di passaggio, o le due cose in sequenza. Niente resta chiuso dietro un account a cui accediamo solo noi.
Cosa succede quando il vendor cambia la sua API?
I contratti vengono validati al confine: un campo cambiato o mancante fallisce in modo evidente e in un punto noto, invece di scrivere dati sbagliati a valle. Versioni fissate, un ambiente di staging su sandbox e alert sui cambi di schema e sui tassi di errore fanno parte del lavoro, non sono un extra da vendere.
Riuscite a lavorare su un sistema che nessuno ha documentato?
È la maggior parte del lavoro. Mappiamo quello che si muove davvero oggi, fogli di calcolo e passaggi manuali compresi, e verifichiamo la nostra lettura con le persone che quel lavoro lo fanno, prima di scrivere codice.
Parliamone
Mappiamo il tuo flusso di integrazione.
Dicci quali sono i due sistemi, quale dato deve spostarsi e cosa si rompe oggi.
- Dove siamo
- Italia · Repubblica Ceca · Giappone