Para realizar la migración inicial y mantener una sincronización automática de datos desde PrestaShop hacia HubSpot se recomienda crear un proceso periódico
Paso 1: Obtención de la URL para la llamada
Dentro del panel de administración de PrestaShop, accede a la sección "Dashboard" del bloque HubSpot del menú principal. En la parte inferior de éste se halla un enlace con la clave segura de integración (en color azul):
Se debe copiar este enlace, que tendrá el siguiente aspecto:
https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1
La llamada a este enlace o URL lanzará la sincronización parcial de los últimos 10 ítems sin sincronizar (Contactos, Productos, Pedidos y carritos). Recomendamos, sin embargo, realizar una llamada única por cada objeto. Este proceso se detalla en el siguiente punto.
Paso 2: Creación de URLs para cada tipo de objeto
Para definir la sincronización individual de cada elemento hay que preparar 4 URL diferentes añadiendo el parámetro de objeto que se desea sincronizar al enlace obtenido en el punto anterior.
Hay que modificar la URL y añadir "&object_type=objeto" para los cuatro tipos de objetos:
- Clientes (Objeto "CONTACT")
- Productos (Objeto "PRODUCT")
- Negocios (Objeto "DEAL")
- Carritos abandonados (Objeto "DEALABANDONED").
También se puede añadir el parámetro del número de objetos a sincronizar para cada llamada: &limit=número (recomendado para evitar cargas excesivas).
De esta forma, generamos las cuatro URL de llamada:
https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=CONTACT&limit=10
https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=PRODUCT&limit=10
https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=DEAL&limit=10
https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=DEALABANDONED&limit=10
Paso 3: Ejemplo de configuración CRON (linux)
Esto es un ejemplo de las entradas para el crontab. Las llamadas se realizarán cada 5 minutos. Es preferible evitar llamadas concurrentes, se deben hacer de forma secuencial.
El orden de ejecución es el que se muestra a continuación:
- Contactos
- Productos
- Negocios
- Carritos abandonados
Si no se realiza en este orden, puede haber referencias a objetos sin sincronizar, lo que provocaría que los negocios no contuvieran toda la información.
Se crea un fichero ejecutable, sync.sh (por ejemplo), y se añade lo siguiente:
#!/bin/bash
curl -s 'https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=CONTACT&limit=10'
curl -s 'https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=PRODUCT&limit=10'
curl -s 'https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=DEAL&limit=10'
curl -s 'https://URLtienda.com/module/pshubspot/webhook?secure_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ajax=1&object_type=DEALABANDONED&limit=10'
Y lo añadimos al crontab correspondiente:
*/10 * * * * /RutaAlFichero/sync.sh
Esto realizará la llamada cada 10 minutos, e intentará sincronizar 10 objetos de cada tipo, de forma secuencial.
Antes de configurar el cron, es recomendable ejecutar sync.sh un par de veces para ver cuanto tiempo requiere. Es importante que funcione de forma secuencial y que no haya llamadas concurrentes, ya que el rendimiento de la página web se verá comprometido.
En instalaciones de Prestashop con mucho tráfico o modificaciones frecuentes de productos, será necesario cambiar la cantidad de productos, contactos o pedidos que se sincronizan en cada llamada, o la frecuencia de las llamadas.
El estado de la sincronización será visible en el Dashboard: