PrestaShop - Actualizar Producto
Descripción
Sección titulada «Descripción»Este módulo permite actualizar campos de un producto en PrestaShop, identificándolo por su product_id o por su reference. Soporta actualización de información básica, precios, dimensiones, SEO y estado del producto.
Configuración
Sección titulada «Configuración»Credenciales
Sección titulada «Credenciales»Antes de usar este módulo, necesitas configurar las credenciales de PrestaShop:
- Accede a tu panel de administración de PrestaShop
- Ve a Configuración Avanzada > Servicios Web
- Habilita el servicio web
- Crea una nueva clave API con permisos de lectura/escritura en “products”
- Guarda la clave API generada
Campos de la Credencial
Sección titulada «Campos de la Credencial»| Campo | Descripción | Ejemplo |
|---|---|---|
urlBase | URL base de tu tienda PrestaShop (sin /api) | https://mi-tienda.com |
apiKey | Clave API generada en el backoffice | ABCD1234567890XYZ |
Parámetros
Sección titulada «Parámetros»| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
credentials_id | string | Sí | ID de las credenciales de PrestaShop |
product_id | number/string | Condicional | ID del producto a actualizar |
reference | string | Condicional | Referencia del producto (alternativa a product_id) |
name | string | No | Nuevo nombre del producto |
price | number | No | Precio sin impuestos |
wholesale_price | number | No | Precio de coste/mayorista |
description | string | No | Descripción larga del producto |
description_short | string | No | Descripción corta |
active | boolean | No | Estado activo (true/false) |
new_reference | string | No | Nueva referencia del producto |
ean13 | string | No | Código EAN13 |
weight | number | No | Peso en kg |
width | number | No | Ancho en cm |
height | number | No | Alto en cm |
depth | number | No | Profundidad en cm |
meta_title | string | No | Meta título SEO |
meta_description | string | No | Meta descripción SEO |
link_rewrite | string | No | URL amigable |
Se requiere
product_idOreferencepara identificar el producto.
{ "success": true, "product_id": 123, "fields_updated": ["name", "price", "active"], "message": "Producto 123 actualizado correctamente"}Salida en caso de Error
Sección titulada «Salida en caso de Error»{ "error": { "message": "Error actualizando producto: [descripción del error]" }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Actualizar precio de un producto
Sección titulada «Actualizar precio de un producto»{ "credentials_id": "presta_tienda", "product_id": 123, "price": 29.99}Actualizar producto por referencia
Sección titulada «Actualizar producto por referencia»{ "credentials_id": "presta_tienda", "reference": "SKU-001", "name": "Camiseta Premium Edición 2024", "price": 24.99, "active": true}Actualizar información SEO
Sección titulada «Actualizar información SEO»{ "credentials_id": "presta_tienda", "product_id": 456, "meta_title": "Camiseta Premium - Envío Gratis", "meta_description": "Descubre nuestra camiseta premium de algodón 100%. Envío gratis en pedidos +50EUR", "link_rewrite": "camiseta-premium-algodon"}Actualizar dimensiones para envío
Sección titulada «Actualizar dimensiones para envío»{ "credentials_id": "presta_tienda", "product_id": 789, "weight": 0.5, "width": 30, "height": 40, "depth": 5}Desactivar producto
Sección titulada «Desactivar producto»{ "credentials_id": "presta_tienda", "reference": "DISCONTINUED-001", "active": false}Uso con Datos Dinámicos
Sección titulada «Uso con Datos Dinámicos»Puedes usar datos del flujo de trabajo para actualizar productos dinámicamente:
// En un nodo ExecuteScript previoctx.data = { product_id: ctx.data.producto.id, price: ctx.data.nuevo_precio, active: ctx.data.stock > 0};Workflow Ejemplo: Sincronización de Precios
Sección titulada «Workflow Ejemplo: Sincronización de Precios»[Trigger HTTP] -> [Obtener datos CSV] -> [Loop] -> [PrestaUpdateProduct] -> [Notificación]- Trigger HTTP: Recibe webhook con actualizaciones de precios
- Obtener datos CSV: Parsea el archivo de precios
- Loop: Itera sobre cada producto
- PrestaUpdateProduct: Actualiza precio en PrestaShop
- Notificación: Envía resumen por email/Slack
- El módulo primero obtiene el producto actual y luego aplica las actualizaciones
- Los campos de texto multilingüe (name, description) se actualizan en el idioma predeterminado
- Si no se especifican campos para actualizar, el nodo devuelve un mensaje indicándolo
- La API de PrestaShop usa XML internamente, pero el módulo maneja la conversión automáticamente
Errores Comunes
Sección titulada «Errores Comunes»| Error | Causa | Solución |
|---|---|---|
| ”Faltan credenciales” | urlBase o apiKey vacíos | Verifica la configuración de credenciales |
| ”Producto no encontrado” | ID o referencia incorrecta | Verifica que el producto existe |
| ”Error de autenticación” | API Key inválida | Genera una nueva API Key |
| ”Sin permisos” | API Key sin permisos | Habilita permisos de products en el backoffice |
Nodos Relacionados
Sección titulada «Nodos Relacionados»- PrestaGetOrders - Obtener pedidos que incluyen el producto