Cómo funciona la sincronización de calendarios mediante webhooks

"Webhook" suena técnico, pero el concepto es cotidiano: es un timbre para el software. En lugar de que un servicio de sincronización de calendarios llame constantemente a la puerta de Google o de Microsoft preguntando "¿hay algo nuevo ya?", el proveedor toca el timbre del servicio en el momento en que algo cambia. Esa inversión -el proveedor avisa al servicio, en lugar de que el servicio interrogue al proveedor- es toda la base de la sincronización de calendarios rápida y moderna.

Esta página explica qué es un webhook, cómo los implementan Google y Microsoft para los calendarios, y cómo un servicio de sincronización convierte un flujo de avisos de "algo cambió" en una sincronización bidireccional fiable.

Un webhook es una llamada de retorno a una URL

Un webhook no es más que un acuerdo: "Cuando ocurra X, envía un mensaje a esta dirección web". El servicio de sincronización registra una URL ante el proveedor de calendario y le dice, en efecto, llama a este punto de conexión siempre que este calendario cambie. A partir de ahí, es el proveedor quien llama. El servicio no tiene que sondear, porque se le avisa.

La notificación en sí suele ser ligera: a menudo poco más que "el calendario A cambió". Es un disparador, no una carga de datos. Ese detalle importa tanto para la velocidad como para la privacidad: los datos reales del evento no se envían en el webhook; se obtienen aparte a través de la API autenticada solo cuando hace falta.

Cómo lo hacen los dos proveedores

La mecánica difiere ligeramente, pero la forma es la misma:

  • Google Calendar - canales de notificación push. El servicio llama al método watch de Google sobre un calendario para abrir un canal. Google envía entonces una notificación HTTP al punto de conexión registrado cada vez que ese calendario cambia. Los canales caducan, así que el servicio los renueva de forma programada.
  • Microsoft Graph - suscripciones de notificación de cambios. El servicio crea una suscripción al calendario de un usuario. Microsoft publica una notificación de cambio en el punto de conexión cuando se añaden, actualizan o eliminan eventos. Las suscripciones también caducan y se renuevan automáticamente.

En ambos casos, el proveedor es la parte activa. Calendar Family registra y renueva estas suscripciones por ti entre bastidores: no hay nada que configurar.

De "algo cambió" a un evento sincronizado

Un webhook le dice al servicio que algo cambió, no qué. Así que el flujo es:

  1. Llega una notificación al punto de conexión del servicio: el calendario A cambió.
  2. El servicio obtiene el delta del proveedor A usando un token de sincronización: un marcador que le permite pedir solo lo nuevo desde la última vez, en lugar de releer el calendario entero.
  3. El servicio asigna el cambio -evento, regla de recurrencia, zona horaria- al formato del proveedor B.
  4. Escribe el cambio en el calendario B a través de la API autenticada de B.
  5. El cambio aparece en el calendario B, normalmente en aproximadamente un minuto.

Como el paso 2 usa un token de sincronización, el servicio mueve la mínima cantidad de datos y nunca tiene que recorrer un calendario entero para encontrar una sola modificación.

Diseñado para tolerar avisos perdidos

Las redes pierden mensajes; las suscripciones a veces expiran. Una buena sincronización por webhooks no da por hecho que todo será perfecto. El token de sincronización es la red de seguridad: en cualquier momento el servicio puede preguntar al proveedor "¿qué ha cambiado desde este marcador?" y conciliar. Así, una notificación perdida no provoca una desviación silenciosa: se detecta y se corrige en la siguiente sincronización. Esa combinación de notificaciones push para la velocidad y tokens de sincronización para la corrección es lo que hace que el resultado sea a la vez rápido y fiable.

Por qué esto también es bueno para la privacidad

Como el webhook es solo un disparador y los datos se obtienen a través de la API oficial y autenticada, el contenido de tus eventos no se difunde en cargas de notificación por todas partes. Calendar Family construye sobre ese mecanismo: acceso por API oficial que tú concedes y puedes revocar, obteniendo solo lo que cambió. Consulta ¿es segura y privada la sincronización de calendarios? para el tratamiento completo, y tiempo real frente a sondeo para entender por qué gana el enfoque de webhooks. La visión general de la sincronización en tiempo real lo une todo.

Calendar Family es gratis.

Empieza gratis

Preguntas frecuentes

¿Qué es un webhook de calendario?
Un webhook es un mensaje que un proveedor de calendario envía a una dirección web registrada de antemano en el momento en que algo cambia. En lugar de que un servicio de sincronización pregunte una y otra vez '¿hay algo nuevo?', el proveedor le avisa de forma proactiva, que es lo que hace que la sincronización resulte casi instantánea.
¿Tanto Google como Microsoft admiten webhooks para calendarios?
Sí. Google Calendar usa canales 'watch' de notificaciones push, y Microsoft Graph usa suscripciones de notificación de cambios. Ambos llaman a un punto de conexión registrado cuando un calendario cambia, y ambos requieren renovar la suscripción periódicamente, algo que un servicio de sincronización gestiona automáticamente.
¿El webhook contiene los detalles de mis eventos?
Normalmente no. La notificación suele limitarse a decir 'este calendario ha cambiado': es un disparador, no los datos. El servicio de sincronización hace entonces una petición autenticada aparte para obtener solo lo que cambió, de modo que el contenido del evento viaja por la API segura y no en el propio webhook.
¿Qué pasa si se pierde un webhook?
La sincronización no depende de no perder ninguno. Usando tokens de sincronización, el servicio puede preguntar al proveedor '¿qué ha cambiado desde la última vez que comprobé?' y conciliar, así que una notificación perdida se autorrepara en la siguiente sincronización en lugar de causar una desviación permanente.

Guías relacionadas