Sincronización con Google Calendar
Puedes integrar Bookly con Google Calendar sin complicaciones para sincronizar automáticamente las nuevas reservas entre el Calendario de Bookly y Google Calendar en ambas direcciones.
Bookly PRO ofrece tres modos de sincronización con Google Calendar:
- Unidireccional
- Solo front-end bidireccional
- Bidireccional (requiere Bookly Advanced Google Calendar (Add-on))
Antes de elegir el modo de sincronización, lee atentamente las siguientes instrucciones para configurar la conexión entre ambos calendarios.
Para configurar la conexión, deberás introducir tu Client ID y Client Secret en Bookly > Configuración > Google Calendar.
Para encontrar tu Client ID y Client Secret, sigue estos pasos:
1. Ve a Google Cloud Platform.
2. Crea un nuevo proyecto.

3. Habilita la API de Google Calendar:
- En el menú lateral izquierdo, selecciona Library.
- Busca Google Calendar API o haz clic en este enlace para ir directamente a la página de la API.
- Comprueba que la API esté habilitada.

4. Configura las credenciales de la aplicación:
- Selecciona tu proyecto, haz clic en OAuth consent screen en el menú de la izquierda y luego en Get Started para configurar las credenciales.
- Añade la información de la app y de contacto requerida, y haz clic en Create.


5. Crea las credenciales de cliente de OAuth:
- En la siguiente pantalla, haz clic en Create OAuth Client.
- En Application type, selecciona Web application e introduce un nombre.
- En el campo Authorized redirect URIs, introduce el URI de redirección que encontrarás en menú Bookly > Configuración > Google Calendar.
- Haz clic en Create.


6. Introduce las credenciales en Bookly:
- En OAuth 2.0 Client IDs, selecciona tu proyecto para ver el Client ID y crear el Client Secret.
- Copia y pega estos valores en menú Bookly > Configuración > Google Calendar.


Importante: para la sincronización bidireccional, tu sitio web debe usar HTTPS. La API de Google Calendar solo podrá enviar notificaciones a una dirección HTTPS si tu servidor web tiene instalado un certificado SSL válido.
Cuando termines de configurar los ajustes, ve a la sección Empleados, selecciona tu empleado, cambia a la pestaña Avanzado y activa la conexión para sincronizar las citas del empleado con Google Calendar.

Por último, inicia sesión en tu cuenta de Google y concede permiso al plugin para acceder a tu Google Calendar.

Si te encuentras con el Error 403: access_denied durante el proceso de conexión, abre tu app en Google Console, ve a Google Auth Platform Audience y cambia el estado de publicación a In production.

Actualmente existe un límite de 50 tokens de actualización por cuenta de usuario y cliente. Si se alcanza el límite, la creación de un nuevo token de actualización invalida automáticamente el token de actualización más antiguo sin previo aviso. Este límite no se aplica a las cuentas de servicio.
Al conectar a los empleados con sus Google Calendar, puede que veas una advertencia de que Google no ha verificado la app.
Esta pantalla significa que tu aplicación de Google no ha pasado por el proceso de verificación de Google. Puedes continuar con el proceso de conexión de tu personal; haz clic en Advanced y continúa.
Para evitar esta advertencia en el futuro, deberías realizar la verificación de tu app en la pantalla de consentimiento de tu aplicación.
Para usuarios ya existentes, si experimentas problemas de sincronización tras añadir nuevos empleados:
Ve a Configuración > Google Calendar > Redirección URI. Copia el enlace actualizado y pégalo en Google API Console > Credentials > Web Application > Authorized Redirect URIs.
Ya lo hiciste en el pasado, y como el URI puede cambiar con las actualizaciones periódicas del plugin, de vez en cuando tendrás que indicarle a la API de Google qué nuevo URI autorizar.
Hacer esto probablemente resolverá el problema de sincronización. Si persiste, escríbenos a support@bookly.net.
Bookly te permite configurar cómo se mostrará la información de tus reservas en Google Calendar.
Plantilla para el título del evento
Elige los detalles para la descripción del evento de Google Calendar que se crea a través de Bookly. Los códigos disponibles son {service_name}, {category_name}, {staff_name}, {client_names} y {client_phones}.
Plantilla para la descripción del evento
Usa los códigos disponibles para la información relacionada con la cita que se mostrará en Google Calendar.
Debes usar {participant.client_email} en lugar de {client_email}, y así sucesivamente, dentro de la estructura {#each participants as participant}{/each} al configurar la descripción de tu evento de GC. Esto garantiza que los detalles de la cita se muestren correctamente en Google Calendar para las reservas de grupo.
Unidireccional
Si activas este modo de sincronización, cualquier cita nueva creada en el Calendario de Bookly, incluidos los campos personalizados, y las modificaciones posteriores, se reflejarán en Google Calendar.
Solo front-end bidireccional
Si eliges este modo de sincronización, las actualizaciones que hagas en Bookly se reflejarán automáticamente en tu Google Calendar. Sin embargo, los eventos creados originalmente en Google Calendar no se copiarán ni se mostrarán en tu Calendario de Bookly. Los eventos de Google Calendar se tendrán en cuenta al presentar las franjas horarias disponibles a los clientes en tu formulario de reserva. Por lo tanto, si hay un evento en Google Calendar, la franja horaria correspondiente no estará disponible para reservar porque Bookly considerará esa hora como ocupada.
Ten en cuenta que la sincronización de citas entre ambos calendarios puede tardar un poco, lo que puede provocar retrasos al cargar el paso de Hora en un formulario de reserva. Para un rendimiento óptimo, te recomendamos limitar el número de eventos recuperados asociados a esta función. Demasiados eventos en Google Calendar podrían provocar problemas de memoria en PHP cuando Bookly intenta obtener todos los eventos.
Bidireccional
Si activas la opción de sincronización bidireccional (requiere la instalación del Advanced Google Calendar (Add-on) para Bookly), disfrutarás de una sincronización bidireccional completa. Esto garantiza que todos los datos de tu calendario de Bookly, junto con cualquier modificación posterior de la programación, se mantengan sincronizados con Google Calendar. Cualquier reserva nueva creada o actualizada en el Calendario de Bookly se reflejará automáticamente en Google Calendar, y viceversa.
Importante
Sección titulada «Importante»Antes de activar y guardar esta opción de sincronización, es fundamental configurar primero los ajustes en Google Calendar. Además, asegúrate de que tu sitio web use HTTPS para un proceso de sincronización sin problemas.
Lee atentamente las siguientes instrucciones y visita esta página para más información sobre la implementación de la “sincronización incremental” de datos de calendario.
La sincronización bidireccional consta de dos etapas:
1. La sincronización completa inicial ocurre una sola vez al principio para alinear el estado del cliente con el estado del servidor. El cliente obtiene un token de sincronización que debe conservar.
Cuando activas la sincronización bidireccional y haces clic en Guardar, se inicia una sincronización completa. Todas las citas de Bookly se copiarán en Google Calendar, y viceversa.
En el campo Historial de sincronización de citas, especifica el número de días pasados del calendario que quieres sincronizar. Por ejemplo, si introduces 1, ambos calendarios sincronizarán el historial de citas desde ayer.
La duración de la sincronización inicial puede variar según el volumen de eventos a sincronizar.
2. La sincronización incremental es un proceso recurrente que actualiza continuamente al cliente con los cambios producidos desde la última sincronización. En cada iteración, el cliente proporciona el token de sincronización anterior obtenido del servidor y almacena el nuevo token de sincronización recibido en la respuesta.
La sincronización incremental entra en funcionamiento después de completarse la sincronización completa inicial. Bookly inicia la sincronización incremental cuando Google Calendar notifica a tu Calendario de Bookly de los cambios mediante notificaciones push.
Registrar tu dominio
Debes registrar el dominio de cualquier URL que planees usar para recibir mensajes de notificación push. Además, antes de registrar el dominio, debes verificar la propiedad. Este paso es una medida de prevención de abusos para evitar que alguien use push para enviar mensajes al dominio de otra persona.
Paso 1: verifica que eres el propietario del dominio
Antes de poder registrar tu dominio, debes verificar que eres su propietario. Completa el proceso de verificación del sitio con Search Console. Para más información, consulta la documentación de ayuda sobre verificación de sitios.
Paso 2: registra tu dominio
Para registrar un nombre de dominio verificado como uno de los dominios permitidos de tu proyecto, sigue estos pasos:
1. Ve a la página de verificación de dominios en la API Console.
2. Haz clic en Add domain.
3. Completa el formulario y vuelve a hacer clic en Add domain.
En este punto, la API Console de Google comprueba todos los dominios de la lista contra los que has verificado en Search Console. Si has verificado correctamente todos los dominios, la página se actualizará mostrando tu nueva lista de dominios permitidos. Ahora puedes usar cualquiera de estos dominios para recibir notificaciones push.
Si necesitas más información técnica, consulta estos enlaces:
https://developers.google.com/calendar/v3/sync
https://developers.google.com/calendar/v3/push
Sincronización manual
Puedes iniciar una nueva sincronización incremental haciendo clic en el botón Google Calendar situado en la parte superior derecha del Calendario de Bookly.
Cuando creas un evento de All day en Google Calendar, su estado se establece en Free de forma predeterminada. Debes cambiar su estado a Busy para que este evento se muestre en el Calendario de Bookly.

Consulta estos artículos para solucionar los problemas más comunes con la sincronización de Google Calendar:
No puedo conectar a un empleado con Google Calendar
Hay discrepancias entre mi sitio web y Google Calendar. ¿Qué puedo hacer?