Introducción
¿Gestionas tu inventario o precios desde Google Sheets y luego tienes que actualizar PrestaShop manualmente? Eso es ineficiente y propenso a errores.
En este artículo aprenderás cómo integrar tu hoja de Google Sheets con PrestaShop para sincronizar stock y precios automáticamente.
Ideal para comerciantes que trabajan con proveedores, listas externas o equipos sin acceso al backoffice.
Índice
- 1. Qué puedes automatizar con esta integración
- 2. Requisitos previos
- 3. Tablas que se verán afectadas
- 4. Estructura de la hoja de Google Sheets
- 5. Script PHP para importar datos desde Sheets
- 6. Automatización con cron
- 7. Buenas prácticas y seguridad
- 8. Conclusión
1. ¿Qué puedes automatizar con esta integración?
Acción | Resultado |
---|---|
Actualizar stock desde Google Sheets | Evitas entrar al backoffice |
Modificar precios automáticamente | Reduces errores humanos |
Exportar datos de PrestaShop a Sheets | Visualizas datos sin entrar al panel |
2. Requisitos previos
- Acceso a Google Cloud Console
- Composer instalado en el servidor
- PHP 7.4+ y PrestaShop funcionando
- Una hoja compartida con cabecera y datos bien estructurados
3. Tablas de PrestaShop afectadas
Tabla | Contenido |
---|---|
ps_product | Precios base de productos |
ps_stock_available | Stock por producto |
4. Estructura de la hoja de cálculo
Tu hoja debe tener columnas como:
ID producto | Referencia | Stock | Precio |
---|---|---|---|
1 | PS001 | 25 | 49.90 |
2 | PS002 | 10 | 29.99 |
5. Script PHP para importar datos desde Sheets
Este script lee datos desde una hoja de cálculo y actualiza productos.
<?php require 'vendor/autoload.php'; require '../config/config.inc.php'; require '../init.php'; $client = new Google_Client(); $client->setAuthConfig('credenciales.json'); $client->addScope(Google_Service_Sheets::SPREADSHEETS_READONLY); $service = new Google_Service_Sheets($client); $spreadsheetId = 'TU_ID_HOJA'; $range = 'Sheet1!A2:D'; $response = $service->spreadsheets_values->get($spreadsheetId, $range); $values = $response->getValues(); foreach ($values as $row) { list($id, $ref, $stock, $precio) = $row; if (!is_numeric($id)) continue; StockAvailable::setQuantity((int)$id, 0, (int)$stock); $product = new Product((int)$id); $product->price = (float)$precio; $product->update(); echo "Producto $ref actualizado: stock=$stock, precio=$precio\n"; } ?>
6. Automatización con cron
Programa este script para que se ejecute automáticamente cada cierto tiempo:
*/30 * * * * /usr/bin/php /ruta/sync-google-prestashop.php
Así se actualiza cada 30 minutos automáticamente.
7. Buenas prácticas y seguridad
- Protege el script con autenticación por token o IP
- No dejes las credenciales de Google visibles en producción
- Valida que los IDs existen antes de hacer cambios
- Guarda logs de cada ejecución por si necesitas depurar
8. Conclusión
Integrar Google Sheets con PrestaShop te permite ahorrar tiempo y errores al mantener actualizado tu catálogo.
¿Quieres que conectemos tu hoja con tu tienda sin depender de plugins de pago? 📩 Escríbenos y lo dejamos funcionando.