
Dernière mise à jour : 20 juillet 2026
Une synchronisation bidirectionnelle entre Quire et une autre application nécessite un serveur intermédiaire qui reçoit les webhooks des deux côtés et appelle chaque API pour répercuter le changement. Architecture : Quire ↔ Votre application ↔ Autre application. Quatre étapes d'implémentation : mettre en place le serveur de webhooks, l'enregistrer auprès de Quire (en tant que suiveur du projet), l'enregistrer auprès de l'autre application, puis traiter les événements à l'aide des types d'activité de la documentation de l'API Quire. Deux règles de sécurité : étiqueter l'origine de chaque changement pour éviter les boucles infinies, et conserver une table de correspondance entre les ID de tâche Quire et les ID d'élément de l'autre application. L'application de synchronisation bidirectionnelle Google Agenda en est un exemple concret.
Lorsque les données vivent dans deux applications, chaque action doit être effectuée deux fois, ou finit par se désynchroniser silencieusement. La synchronisation bidirectionnelle résout ce problème de double saisie en faisant échanger automatiquement les mises à jour entre Quire et l'autre application via des webhooks. L'API ouverte de Quire est conçue exactement pour ce cas d'usage.
Le coût des outils déconnectés est bien documenté. Selon l'étude de McKinsey sur l'économie sociale, les travailleurs du savoir passent près de 20 % de leur semaine à rechercher des informations internes au lieu d'accomplir leur travail réel. Une synchronisation fiable élimine automatiquement une bonne part de cette charge.
L'application de synchronisation bidirectionnelle Google Agenda en est l'exemple canonique : les tâches Quire et les événements Google Agenda restent alignés sans réconciliation manuelle. Cet article explique comment reproduire ce schéma avec l'API de n'importe quelle autre application.
La synchronisation bidirectionnelle Google Agenda est réservée aux souscriptions Premium et supérieures. Vous trouverez plus d'informations sur notre page tarifaire.
| Composant | Rôle |
|---|---|
| Application Quire | Fournit les identifiants API ; enregistrée comme suiveur du projet pour les webhooks |
| Serveur intermédiaire (votre application) | Reçoit les webhooks des deux côtés ; appelle chaque API pour répercuter le changement |
| Autre application (p. ex. Google Agenda) | Source des événements de son côté ; cible des écritures API |
| URL de webhook dans les paramètres de l'application Quire | Où Quire envoie (POST) les événements d'activité |
| Table de correspondance des ID | Fait le lien entre les ID de tâche Quire et les ID d'élément de l'autre application |
| Étiquette d'origine sur chaque changement | Empêche les boucles de mise à jour infinies |
Voyez la synchronisation bidirectionnelle comme une conversation entre deux applications. Lorsque vous mettez à jour une tâche dans Quire, celui-ci informe l'autre application du changement. Et lorsque quelque chose est mis à jour dans cette autre application, elle en informe Quire. Vos informations restent ainsi cohérentes partout.

La première étape consiste à configurer votre application Quire. Vous devrez en créer une pour obtenir les identifiants nécessaires à l'accès à votre projet Quire via son API.
Pour un guide pas à pas sur la création de votre propre application avec l'API Quire, consultez notre article de blog.
Pour mettre en œuvre une synchronisation bidirectionnelle, vous devrez développer une application intermédiaire (votre application) servant de pont entre Quire et votre application cible (comme Google Agenda). Voyez-la comme un traducteur : elle récupère des informations d'un côté, les traite, puis envoie les bonnes commandes à l'autre. Le flux ressemble à ceci : Quire ↔ Votre application ↔ Autre application.
Pour activer la synchronisation bidirectionnelle, vous devez d'abord mettre en place votre propre application serveur pour jouer le rôle de couche intermédiaire. Cette application sera chargée de recevoir les requêtes webhook POST provenant à la fois de Quire et de l'autre application. Votre serveur doit pouvoir :
Vous pouvez construire cette application serveur avec la technologie de votre choix, comme Node.js, Python ou Ruby. Dans les sections suivantes, nous utiliserons Node.js pour illustrer un exemple simple de réception et de traitement des événements webhook. Assurez-vous que votre serveur est accessible depuis Internet afin que Quire et l'autre application puissent lui envoyer des événements webhook.
Voici un exemple simple en Node.js avec Express :
const express = require('express');
const app = express();
app.use(express.json());
app.listen(3000, () => {
console.log('Server is running on port 3000');
});Ensuite, vous devrez créer une route dans votre serveur pour recevoir les événements webhook de 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');
});Dans cet exemple, la route du webhook est /webhook, l'URL complète sera donc ${your-host}/webhook.
Copiez cette URL de webhook et collez-la dans les paramètres de l'application Quire, afin que Quire sache où envoyer les notifications d'événements à votre application.

Par ailleurs, vous devrez enregistrer votre application Quire en tant que suiveur du projet que vous souhaitez synchroniser. Cela garantit que votre application reçoit les notifications pour les mises à jour pertinentes.
Pour un guide pas à pas sur la réception de notifications via l'API Quire, consultez notre guide.
Pour synchroniser les mises à jour de l'autre application avec Quire, vous devrez également créer une route dans votre serveur pour recevoir les événements webhook de cette application. Le processus d'enregistrement est similaire à l'exemple montré ci-dessus pour Quire. Configurez simplement l'autre application pour qu'elle envoie ses notifications d'événements au point de terminaison webhook de votre application intermédiaire, et assurez-vous que votre serveur peut traiter correctement ces événements entrants.
Une fois que votre application reçoit des événements webhook de Quire et de l'autre application, vous devrez implémenter une logique pour traiter ces événements et synchroniser les données entre les deux plateformes. Cela implique généralement :
En traitant soigneusement les événements entrants et en mettant à jour les données via les API, votre application garantit que les changements sont correctement répercutés des deux côtés, assurant une synchronisation bidirectionnelle fiable.
Voici un exemple utilisant Node.js et 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');
});Cet exemple montre comment traiter les événements de création et de suppression provenant d'une autre application et les synchroniser avec Quire. Veillez à implémenter une gestion des erreurs appropriée et à maintenir la table de correspondance des ID pour une synchronisation fiable.
Deux règles de sécurité couvrent les modes de défaillance qui touchent toute première implémentation :
L'API ouverte associée aux webhooks transforme Quire et vos autres outils en une source unique de vérité, plutôt qu'en deux sources concurrentes. Commencez par la synchronisation minimale viable (un type d'événement, une direction) et vérifiez que la boucle fonctionne de bout en bout avant de l'étendre.
À lire aussi : Intégrez des outils externes avec Quire via l'API Quire — avec n8n comme exemple — un exemple concret si vous préférez commencer par un outil d'automatisation sans code plutôt que par un serveur personnalisé.
Une connexion à double sens où les mises à jour circulent dans les deux directions : les changements dans Quire sont transmis à l'autre application, et les changements qui y sont effectués sont renvoyés vers Quire. L'application de synchronisation bidirectionnelle Google Agenda en est un exemple concret.
Une application Quire avec des identifiants API, un serveur intermédiaire accessible depuis Internet pour recevoir les webhooks, et une logique pour traduire les événements entre les deux API. N'importe quel langage backend convient.
Elle agit comme un traducteur entre Quire et l'autre service, reçoit les événements webhook, décide quels appels API effectuer, et maintient la correspondance entre les ID de tâche Quire et les ID d'élément de l'autre application.
Suivez l'origine de chaque changement et ignorez les mises à jour déclenchées par votre propre processus de synchronisation. Sans cette protection, chaque mise à jour rebondit indéfiniment entre les deux applications.
Premium et au-delà. Consultez les limites actuelles des niveaux sur la page tarifaire.