En este artículo veremos cómo sincronizar el stock y precio de productos WooCommerce desde Google Sheets. Luego de configurar los accesos a Google Sheet, realizaremos la sincronización directamente a través de código.
Generalidades
En un artículo anterior habíamos visto cómo hacer la sincronización con un archivo de Excel, sin embargo es posible que en algunos casos quieras hacer esto a través del servicio remoto Google Sheets.
Obtener las credenciales de Google Sheets
Para conectarnos al servicio de Google Sheets, será necesario usar su API, por lo que necesitaremos hacer algunas configuraciones en tu cuenta de Google para obtener las credenciales en un archivo .JSON.
- Primero ingresa a la url de Google Cloud Console, desde allí ingresa a la opción de Panel
- Ingresa a la opción de API y Servicios
- Habilita la opción de API y Servicios
- Selecciona Google Sheets API
- Habilitar Google Sheets API
- Detalle API habilitada
- Creación de credenciales
- Configurar credenciales
- Continuar para crear nuevas credenciales en caso no querer usar existentes
- Completar datos para continuar
- Ver detalles creación
- Crear nueva clave
- Selección tipo JSON
Con los pasos anteriores descargarás un archivo JSON el cual usaremos posteriormente.
Compartir la hoja de Google Sheets
Ubica la hoja de Google Sheets en donde están los datos a sincronizar, debería tener la siguiente estructura.
Usamos la opción de compartir para agregar nuevos usuarios y permisos.
Usamos el correo que hemos obtenido anteriormente en la creación de las credenciales para compartir la hoja.
Código para actualizar productos desde Google Sheets
El código para la sincronización es bastante similar al código del artículo Sincronizar WooCommerce y Excel que vimos anteriormente.
Para la conexión con la API de Google Sheets usaremos una librería oficial de Google, la cual se puede usar a través del gestor de paquetes para PHP llamado Composer.
He preparado todo lo necesario en este repositorio de Github Sync WooCommerce Products from Google Sheets.
Simplemente descarga el .zip del repositorio.
Luego puedes copiar esta carpeta a tu tema hijo o plugin, en nuestro caso lo probaremos en base a un tema hijo y una plantilla de página, similar al artículo anterior.
Ubica la carpeta desde el terminal y ejecuta la instalación de los paquetes
composer install
Luego copia el archivo .json dentro de la carpeta auth/data, puedes renombrarlo a credentials.json
Edita el archivo google-sheet-data.php, en este archivo tienes que cambiar los siguientes valores
$path = __DIR__ . '/auth/credentials.json'; // ruta del archivo .json
$spreadsheetId = '1jKQA0szu3w1XTYArIddlpYhAREOMzSBFyZouY39tIoc'; // Id que aparece en la URL de la página de Google Sheet
$range = 'Hoja 1'; //Nombre de la hoja
El archivo que hace la sincronización con WooCommerce es el archivo process-sync.php, por lo que tenemos que hacer referencia a este archivo. Para hacer referencia a este archivo podemos hacerlo desde una plantilla de página.
<?php
/* Template Name: Sincronización Google Sheet y WooCommerce */
include_once ("sync-woocommerce-google-sheets-main/process-sync.php");
De esta forma podemos ejecutar el código en el entorno de WordPress y ademas ejecutarlo a través de una URL lo cual es útil si queremos programar un cron a nivel de servidor.
Conclusión
Como has podido comprobar, puedes conectar el servicio de Google Sheets para sincronizar el stock y precios de productos en WooCommerce, en este artículo hemos visto como realizarlo usando librerías oficiales de Google y código para WordPress.
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:
La entrada Sincronizar WooCommerce y Google Sheets es un artículo reciente del sitio DecodeCMS.
0 Commentaires