Vai al contenuto
Integrazioni & API

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à

Recruiting

Bullhorn
Candidati, contatti e posizioni allineati con i career site e con la reportistica, attraverso la sua API REST.

CRM

Salesforce
Account, opportunità e oggetti personalizzati sincronizzati con fatturazione e delivery.

Service management

ServiceNow
Ticket, richieste e record CMDB creati dove il lavoro nasce, non ribattuti a mano.

HR & workforce

UKG
Dati di persone, organigramma e presenze spostati fra l'HR e i sistemi che ne dipendono.

Tutto il resto

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.

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

01

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.

02

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.

03

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.

04

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.

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

Passo 01

Mappare il flusso

Quali dati si spostano, in che direzione, innescati da cosa, e chi è il proprietario di ogni campo.

Passo 02

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.

Passo 03

Costruire la fetta minima utile

Una direzione, un tipo di record, end to end, con logging e retry già dal primo commit.

Passo 04

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.

Passo 05

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

Il messaggio lo legge una persona, non un autoresponder. Usiamo i tuoi dati per rispondere a questa richiesta; vedi l'informativa privacy.