PS PrestaShop Principiante

Pedidos Google Calendar (dfordercalendar)

Instalar y configurar el envío automático de pedidos PrestaShop a Google Calendar: credenciales de Google Cloud, conexión OAuth 2.0, personalización de eventos y solución de problemas.

Actualizado Versión del módulo 1.0.0

Presentación

Pedidos Google Calendar (dfordercalendar) crea automáticamente un evento en tu calendario de Google por cada pedido validado en tu tienda PrestaShop 8 o 9. El evento contiene la referencia, el cliente, el total, el método de pago, el transportista, la lista de productos y la dirección de entrega. La conexión usa OAuth 2.0 con tus propias credenciales de Google Cloud: ningún dato pasa por un servidor de terceros.

Instalación

  1. En el back-office, abre Módulos y luego Gestor de módulos.
  2. Haz clic en Subir un módulo y selecciona el archivo dfordercalendar.zip.
  3. Una vez instalado, haz clic en Configurar.

Requisitos: PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3 con la extensión cURL activa (disponible en prácticamente todos los alojamientos).

Crear las credenciales de Google (Google Cloud Console)

El módulo se conecta a la API de Google Calendar con credenciales OAuth 2.0 que creas una sola vez, en unos diez minutos.

1. Crear un proyecto y activar la API

  1. Abre console.cloud.google.com e inicia sesión con la cuenta de Google propietaria del calendario de destino.
  2. Crea un proyecto (por ejemplo «Tienda PrestaShop»).
  3. En el menú, abre APIs y servicios, luego Biblioteca, busca «Google Calendar API» y haz clic en Habilitar.

2. Configurar la pantalla de consentimiento

  1. Abre APIs y servicios, luego Pantalla de consentimiento de OAuth.
  2. Elige el tipo Externo (o Interno si usas Google Workspace), rellena el nombre de la aplicación y tu email, y guarda.

Mientras la aplicación permanezca en estado «En pruebas», Google hace expirar la conexión a los 7 días. Dos soluciones: publicar la aplicación (botón Publicar aplicación, no se requiere ninguna revisión para este tipo de uso) o añadir tu propia cuenta a la lista de usuarios de prueba y publicar más tarde. Para producción, publica la aplicación.

3. Crear la credencial OAuth 2.0

  1. Abre APIs y servicios, luego Credenciales, haz clic en Crear credenciales y después en ID de cliente de OAuth.
  2. Tipo de aplicación: Aplicación web.
  3. En «URI de redirección autorizados», pega exactamente la URL mostrada en el panel Conexión con Google de la configuración del módulo (termina en controller=oauth).
  4. Confirma: Google muestra tu Client ID y tu Client Secret.

La URI de redirección debe copiarse tal cual, protocolo https incluido. Es la causa número 1 del error redirect_uri_mismatch.

Conexión del módulo

  1. En la configuración del módulo, pega el Client ID y el Client Secret y guarda.
  2. Haz clic en Conectar la cuenta de Google: Google pide permiso para acceder a tus calendarios.
  3. Acepta: un mensaje confirma la conexión, vuelve a la configuración.
  4. En Calendario de destino, elige el calendario que recibirá los pedidos (se listan todos los calendarios con permiso de escritura, compartidos incluidos) y guarda.

El token de acceso se renueva automáticamente: la conexión se hace una sola vez. El botón Desconectar elimina los tokens en cualquier momento.

Configuración de los eventos

Plantilla del título

El título del evento se compone libremente con las siguientes variables:

  • {reference}: referencia del pedido
  • {customer}: nombre y apellidos del cliente
  • {total}: total con impuestos formateado en la divisa del pedido
  • {payment}: método de pago
  • {carrier}: transportista
  • {shop}: nombre de la tienda

Ejemplo: Pedido {reference} - {customer} ({total})

Tipo y contenido del evento

  • Tipo de evento: con hora en la fecha y hora del pedido (duración ajustable en minutos, huso horario de la tienda) o de día completo.
  • Incluir la lista de productos: añade cada línea con su cantidad a la descripción.
  • Incluir la dirección de entrega: añadida a la descripción y al campo lugar del evento.
  • Incluir el email y el teléfono del cliente: datos de contacto añadidos a la descripción.
  • Actualizar el evento al cambiar el estado del pedido: añade el estado actual al título en cada cambio.

Funcionamiento diario

En cuanto se valida un pedido, el evento se crea en el calendario de destino. En la ficha del pedido del back-office, un panel Google Calendar muestra el enlace directo al evento, o el estado de sincronización si algo ha fallado.

El botón «Crear un evento de prueba desde el último pedido» permite verificar toda la cadena sin esperar a un pedido real.

Fallos y reintento

Un fallo de la API de Google nunca bloquea la validación del pedido. El fallo se registra con el mensaje de error exacto devuelto por Google y aparece en el panel Sincronizaciones fallidas de la configuración. El botón Reintentar los eventos fallidos recrea todos los eventos pendientes en un clic. Los errores también quedan trazados en los logs de PrestaShop (Parámetros avanzados, luego Logs).

Solución de problemas

redirect_uri_mismatch

La URI de redirección declarada en Google Cloud Console no coincide exactamente con la mostrada por el módulo. Cópiala de nuevo desde la configuración, sin espacios ni caracteres omitidos, y comprueba el https.

access_denied o conexión que caduca a los 7 días

Tu aplicación OAuth está en estado «En pruebas». Publícala desde la pantalla de consentimiento de OAuth (ver más arriba) y vuelve a conectar la cuenta.

Error 403: Google Calendar API has not been used

La API de Google Calendar no está habilitada en el proyecto. Vuelve a la Biblioteca, actívala, espera un minuto y reintenta los eventos fallidos.

Un calendario no aparece en la lista

Solo se listan los calendarios en los que la cuenta conectada tiene permiso de escritura. Para un calendario compartido, pide al propietario el permiso «Hacer cambios en los eventos».

Datos y desinstalación

Los tokens OAuth y el registro de sincronización se guardan en la base de datos de tu tienda. Los datos de los pedidos circulan solo entre tu servidor y la API de Google, por HTTPS. Al desinstalar el módulo se eliminan los tokens, la configuración y la tabla de registro; los eventos ya creados permanecen en tu calendario de Google.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte