
Última atualização: 20 de julho de 2026
Uma sincronização bidirecional entre o Quire e outro aplicativo exige um servidor intermediário que receba webhooks dos dois lados e chame cada API para espelhar a mudança. Arquitetura: Quire ↔ Seu aplicativo ↔ Outro aplicativo. Quatro etapas de implementação: coloque o servidor de webhook no ar, registre-o no Quire (adicionando-o como seguidor do projeto), registre-o no outro aplicativo e depois trate os eventos usando os tipos de atividade da documentação da API Quire. Duas regras de segurança: marque a origem de cada mudança para evitar loops infinitos e mantenha um mapeamento de IDs entre as tarefas do Quire e os itens do outro aplicativo. O aplicativo de sincronização bidirecional com o Google Calendário é um exemplo funcional.
Quando os dados vivem em dois aplicativos, toda ação acaba sendo feita duas vezes ou saindo de sincronia silenciosamente. A sincronização bidirecional resolve esse problema de dupla digitação fazendo com que o Quire e o outro aplicativo troquem atualizações automaticamente por meio de webhooks. A API aberta do Quire foi criada exatamente para esse padrão.
O custo de ferramentas desconectadas é bem documentado. Segundo a pesquisa da McKinsey sobre a economia social, os trabalhadores do conhecimento gastam quase 20% da semana procurando informações internas em vez de fazer o trabalho de fato. Uma sincronização confiável elimina boa parte dessa sobrecarga automaticamente.
O aplicativo de sincronização bidirecional com o Google Calendário é o exemplo canônico: as tarefas do Quire e os eventos do Google Calendário permanecem alinhados sem reconciliação manual. Este post mostra como construir o mesmo padrão contra a API de qualquer outro aplicativo.
A sincronização bidirecional com o Google Calendário é feita para os níveis de assinatura Premium e superiores. Mais informações podem ser encontradas em nossa página de preços.
| Componente | Papel |
|---|---|
| Aplicativo Quire | Fornece as credenciais de API; registrado como seguidor do projeto para receber webhooks |
| Servidor intermediário (seu aplicativo) | Recebe webhooks dos dois lados; chama cada API para espelhar a mudança |
| Outro aplicativo (ex.: Google Calendário) | Fonte dos eventos do seu lado; alvo das gravações via API |
| URL de webhook nas configurações do aplicativo Quire | Onde o Quire envia (POST) os eventos de atividade |
| Tabela de mapeamento de IDs | Mapeia os IDs de tarefa do Quire ↔ os IDs de item do outro aplicativo |
| Tag de origem em cada mudança | Evita loops infinitos de atualização |
Pense na sincronização bidirecional como uma conversa entre dois aplicativos. Quando você atualiza uma tarefa no Quire, ele avisa o outro aplicativo sobre a mudança. E quando algo é atualizado nesse outro aplicativo, ele avisa o Quire. Isso mantém suas informações consistentes em todos os lugares.

Configurar seu aplicativo Quire é o primeiro passo. Você vai precisar criar um para obter as credenciais necessárias para acessar seu projeto do Quire por meio da API dele.
Para um guia passo a passo sobre como criar seu próprio aplicativo com a API Quire, visite nosso post do blog.
Para implementar uma sincronização bidirecional, você vai precisar desenvolver um aplicativo intermediário (o seu aplicativo) que funcione como uma ponte entre o Quire e o aplicativo de destino (como o Google Calendário). Pense nele como um tradutor: ele recebe informações de um lado, processa e envia os comandos certos para o outro. O fluxo é assim: Quire ↔ Seu aplicativo ↔ Outro aplicativo.
Para habilitar a sincronização bidirecional, primeiro você precisa configurar seu próprio servidor para atuar como a camada intermediária. Esse aplicativo será responsável por receber solicitações POST de webhook tanto do Quire quanto do outro aplicativo. Seu servidor deve ser capaz de:
Você pode construir esse servidor usando qualquer tecnologia de sua preferência, como Node.js, Python ou Ruby. Nas seções a seguir, vamos usar Node.js para demonstrar um exemplo simples de como receber e tratar eventos de webhook. Certifique-se de que seu servidor esteja acessível pela internet para que o Quire e o outro aplicativo consigam enviar eventos de webhook até ele.
Aqui está um exemplo simples em Node.js usando Express:
const express = require('express');
const app = express();
app.use(express.json());
app.listen(3000, () => {
console.log('Server is running on port 3000');
});Em seguida, você vai precisar criar uma rota no seu servidor para receber eventos de webhook do 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');
});Neste exemplo, a rota do webhook é /webhook, então a URL completa será ${your-host}/webhook.
Copie essa URL de webhook e cole nas configurações do aplicativo Quire, para que o Quire saiba para onde enviar as notificações de evento para o seu aplicativo.

Além disso, você vai precisar registrar seu aplicativo Quire como seguidor do projeto que deseja sincronizar. Isso garante que seu aplicativo receba notificações das atualizações relevantes.
Para um guia passo a passo sobre como receber notificações via API Quire, visite nosso guia.
Para sincronizar as atualizações do outro aplicativo com o Quire, você também vai precisar criar uma rota no seu servidor para receber eventos de webhook desse aplicativo. O processo de registro é semelhante ao exemplo mostrado acima para o Quire. Basta configurar o outro aplicativo para enviar suas notificações de evento para o endpoint de webhook do seu aplicativo intermediário, e garantir que seu servidor consiga tratar e processar esses eventos recebidos corretamente.
Depois que seu aplicativo estiver recebendo eventos de webhook do Quire e do outro aplicativo, você vai precisar implementar uma lógica para processar esses eventos e sincronizar os dados entre as duas plataformas. Isso normalmente envolve:
Ao tratar cuidadosamente os eventos recebidos e atualizar os dados por meio das APIs, seu aplicativo garante que as mudanças sejam refletidas com precisão nos dois lados, mantendo uma sincronização bidirecional confiável.
Aqui está um exemplo usando 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');
});Este exemplo demonstra como tratar eventos de criação e exclusão vindos de outro aplicativo e sincronizá-los com o Quire. Certifique-se de implementar o tratamento de erros adequado e manter o mapeamento de IDs para uma sincronização confiável.
Duas regras de segurança cobrem os modos de falha que atingem toda primeira implementação:
API aberta mais webhooks transformam o Quire e suas outras ferramentas em uma única fonte de verdade, em vez de duas que competem entre si. Comece pela menor sincronização viável (um tipo de evento, uma direção) e verifique se o loop funciona de ponta a ponta antes de expandir.
Relacionado: Integre ferramentas externas com o Quire via API Quire — Usando o n8n como exemplo — um exemplo prático caso você prefira começar com uma ferramenta de automação sem código em vez de um servidor personalizado.
Uma conexão em duas vias em que as atualizações fluem nos dois sentidos: as mudanças no Quire são enviadas para o outro aplicativo, e as mudanças de lá voltam para o Quire. O aplicativo de sincronização bidirecional com o Google Calendário é um exemplo funcional.
Um aplicativo Quire com credenciais de API, um servidor intermediário acessível pela internet para receber webhooks, e uma lógica para traduzir eventos entre as duas APIs. Qualquer linguagem de back-end funciona.
Ele atua como um tradutor entre o Quire e o outro serviço, recebendo eventos de webhook, decidindo quais chamadas de API fazer e mantendo o mapeamento entre os IDs de tarefa do Quire e os IDs de item do outro aplicativo.
Registre a origem de cada mudança e ignore as atualizações disparadas pelo seu próprio processo de sincronização. Sem essa proteção, cada atualização fica indo e voltando entre os dois aplicativos para sempre.
Premium ou superior. Confira os limites atuais dos níveis na página de preços.