
Ultimo aggiornamento: 20 luglio 2026
La sincronizzazione bidirezionale tra Quire e un'altra app richiede un server di livello intermedio che riceve webhook da entrambi i lati e chiama ciascuna API per replicare la modifica. Architettura: Quire ↔ La tua app ↔ Altra app. Quattro passaggi di implementazione: creare il server webhook, registrarlo su Quire (aggiungendolo come follower del progetto), registrarlo sull'altra app, poi gestire gli eventi usando i tipi di attività dei documenti API di Quire. Due regole di sicurezza: etichetta l'origine di ogni modifica per evitare loop infiniti e mantieni un mapping tra gli ID delle attività di Quire e gli ID degli elementi dell'altra app. L'app Google Calendar Two-Way Sync è un esempio funzionante.
Quando i dati vivono in due app, ogni azione viene svolta due volte oppure va silenziosamente fuori sincrono. La sincronizzazione bidirezionale risolve questo problema di doppia registrazione facendo scambiare automaticamente aggiornamenti tra Quire e l'altra app tramite webhooks. L'Open API di Quire è costruita esattamente per questo schema.
Il costo degli strumenti disconnessi è ben documentato. Secondo la ricerca di McKinsey sulla social economy, i knowledge worker dedicano quasi il 20% della settimana a rincorrere informazioni interne invece di svolgere il proprio lavoro effettivo. Una sincronizzazione affidabile elimina automaticamente una parte di questo carico.
L'app Google Calendar Two-Way Sync è l'esempio canonico: le attività di Quire e gli eventi di Google Calendar restano allineati senza riconciliazione manuale. Questo articolo illustra come costruire lo stesso schema con l'API di qualsiasi altra app.
Google Calendar Two-Way Sync è pensata per gli abbonamenti Premium e superiori. Maggiori informazioni sono disponibili sulla nostra pagina dei prezzi.
| Componente | Ruolo |
|---|---|
| App Quire | Fornisce le credenziali API; registrata come follower del progetto per i webhooks |
| Server di livello intermedio (la tua app) | Riceve webhooks da entrambi i lati; chiama ciascuna API per replicare la modifica |
| Altra app (es. Google Calendar) | Sorgente degli eventi sul proprio lato; destinazione delle scritture API |
| URL webhook nelle impostazioni dell'app Quire | Dove Quire invia gli eventi di attività tramite POST |
| Tabella di mapping degli ID | Associa gli ID delle attività di Quire agli ID degli elementi dell'altra app |
| Etichetta di origine su ogni modifica | Previene loop di aggiornamento infiniti |
Pensa alla sincronizzazione bidirezionale come a una conversazione tra due app. Quando aggiorni un'attività su Quire, questa comunica la modifica all'altra app. E quando qualcosa viene aggiornato su quell'altra app, questa lo comunica a Quire. In questo modo le tue informazioni restano coerenti ovunque.

Il primo passo è configurare la tua app Quire. Dovrai crearne una per ottenere le credenziali necessarie ad accedere al tuo progetto Quire tramite la sua API.
Per una guida passo dopo passo su come creare la tua app con Quire API, visita il nostro articolo del blog.
Per implementare una sincronizzazione bidirezionale, dovrai sviluppare un'app di livello intermedio (la tua app) che funga da ponte tra Quire e l'app di destinazione (come Google Calendar). Pensala come un traduttore: riceverà informazioni da un lato, le elaborerà e poi invierà i comandi giusti all'altro lato. Il flusso è questo: Quire ↔ La tua app ↔ Altra app.
Per abilitare la sincronizzazione bidirezionale, devi prima configurare un tuo server che funga da livello intermedio. Questa app sarà responsabile della ricezione delle richieste webhook POST sia da Quire sia dall'altra app. Il tuo server dovrebbe essere in grado di:
Puoi costruire questo server con qualsiasi tecnologia tu preferisca, come Node.js, Python o Ruby. Nelle sezioni seguenti useremo Node.js per mostrare un semplice esempio di ricezione e gestione degli eventi webhook. Assicurati che il tuo server sia accessibile da internet, in modo che Quire e l'altra app possano inviargli eventi webhook.
Ecco un semplice esempio in Node.js con Express:
const express = require('express');
const app = express();
app.use(express.json());
app.listen(3000, () => {
console.log('Server is running on port 3000');
});Successivamente, dovrai creare una route sul tuo server per ricevere gli eventi webhook da Quire.
app.post('/webhook', (req, res) => {
console.log('Received webhook event:', req.body);
// TODO: Handle the event and update Quire or other app via API
res.status(200).send('Event received');
});In questo esempio, la route del webhook è /webhook, quindi l'URL completo sarà ${your-host}/webhook.
Copia questo URL webhook e incollalo nelle impostazioni dell'app Quire, così Quire saprà dove inviare le notifiche di evento alla tua app.

Inoltre, dovrai registrare la tua app Quire come follower del progetto che vuoi sincronizzare. Questo assicura che la tua app riceva le notifiche per gli aggiornamenti rilevanti.
Per una guida passo dopo passo su come ricevere notifiche tramite Quire API, visita la nostra guida.
Per sincronizzare gli aggiornamenti dell'altra app con Quire, dovrai anche creare una route sul tuo server per ricevere gli eventi webhook da quell'app. Il processo di registrazione è simile all'esempio mostrato sopra per Quire. Configura semplicemente l'altra app affinché invii le sue notifiche di evento all'endpoint webhook della tua app intermedia, e assicurati che il tuo server possa gestire ed elaborare correttamente questi eventi in arrivo.
Una volta che la tua app riceve eventi webhook sia da Quire sia dall'altra app, dovrai implementare la logica per elaborare questi eventi e sincronizzare i dati tra le due piattaforme. Questo comporta tipicamente:
Gestendo con attenzione gli eventi in arrivo e aggiornando i dati tramite le API, la tua app assicura che le modifiche siano riflesse accuratamente su entrambi i lati, mantenendo una sincronizzazione bidirezionale affidabile.
Ecco un esempio con Node.js e axios:
const axios = require('axios');
app.post('/webhook', (req, res) => {
const { type } = req.body.data;
// Reference of activity types:
// https://github.com/quire-api/quire-api/blob/master/docs/activity_types.md
switch (type) {
case 0: //Quire task created
onQuireTaskCreate();
break;
case 1: //Quire task deleted
onQuireTaskDelete();
break;
}
res.status(200).send('Event received');
});
// Route for handling events from another app to Quire
app.post('/anotherwebhook', async (req, res) => {
const { isCreate, id, name, projectId } = req.body;
if (isCreate) {
// Create a task in the Quire project
await axios.post(`https://quire.io/api/task/${projectId}`, { name });
// Optionally, store the mapping between your app's id and Quire's task id
} else {
// Retrieve the corresponding Quire task id using your mapping logic
const taskOid = getTaskIdByAppEventId(id, projectId);
// Delete the task from the Quire project
await axios.delete(`https://quire.io/api/task/${taskOid}`);
}
res.status(200).send('Event processed successfully');
});Questo esempio mostra come gestire gli eventi di creazione ed eliminazione da un'altra app e sincronizzarli con Quire. Assicurati di implementare una corretta gestione degli errori e di mantenere il mapping degli ID per una sincronizzazione affidabile.
Due regole di sicurezza coprono le modalità di errore che colpiscono ogni prima implementazione:
Open API più webhooks trasforma Quire e i tuoi altri strumenti in un'unica fonte di verità invece di due che competono tra loro. Inizia con la sincronizzazione più piccola possibile (un tipo di evento, una direzione) e verifica che il ciclo funzioni end-to-end prima di espanderlo.
Correlato: Integrare strumenti esterni con Quire tramite Quire API — Usando n8n come esempio — un esempio pratico se preferisci partire da uno strumento di automazione no-code invece che da un server personalizzato.
Una connessione a doppio senso in cui gli aggiornamenti fluiscono in entrambe le direzioni: le modifiche su Quire vengono inviate all'altra app, e le modifiche lì vengono rimandate a Quire. L'app Google Calendar Two-Way Sync è un esempio funzionante.
Un'app Quire con credenziali API, un server di livello intermedio raggiungibile da internet per ricevere i webhooks, e una logica per tradurre gli eventi tra le due API. Funziona con qualsiasi linguaggio di backend.
Agisce da traduttore tra Quire e l'altro servizio, ricevendo eventi webhook, decidendo quali chiamate API effettuare e mantenendo il mapping tra gli ID delle attività di Quire e gli ID degli elementi dell'altra app.
Tieni traccia dell'origine di ogni modifica e ignora gli aggiornamenti innescati dal tuo stesso processo di sincronizzazione. Senza questa protezione, ogni aggiornamento rimbalza tra le due app all'infinito.
Premium e superiori. Verifica i limiti attuali dei livelli sulla pagina dei prezzi.