Saltearse al contenido

PrestaShop - Actualizar Producto

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.

Antes de usar este módulo, necesitas configurar las credenciales de PrestaShop:

  1. Accede a tu panel de administración de PrestaShop
  2. Ve a Configuración Avanzada > Servicios Web
  3. Habilita el servicio web
  4. Crea una nueva clave API con permisos de lectura/escritura en “products”
  5. Guarda la clave API generada
CampoDescripciónEjemplo
urlBaseURL base de tu tienda PrestaShop (sin /api)https://mi-tienda.com
apiKeyClave API generada en el backofficeABCD1234567890XYZ
CampoTipoRequeridoDescripción
credentials_idstringID de las credenciales de PrestaShop
product_idnumber/stringCondicionalID del producto a actualizar
referencestringCondicionalReferencia del producto (alternativa a product_id)
namestringNoNuevo nombre del producto
pricenumberNoPrecio sin impuestos
wholesale_pricenumberNoPrecio de coste/mayorista
descriptionstringNoDescripción larga del producto
description_shortstringNoDescripción corta
activebooleanNoEstado activo (true/false)
new_referencestringNoNueva referencia del producto
ean13stringNoCódigo EAN13
weightnumberNoPeso en kg
widthnumberNoAncho en cm
heightnumberNoAlto en cm
depthnumberNoProfundidad en cm
meta_titlestringNoMeta título SEO
meta_descriptionstringNoMeta descripción SEO
link_rewritestringNoURL amigable

Se requiere product_id O reference para identificar el producto.

{
"success": true,
"product_id": 123,
"fields_updated": ["name", "price", "active"],
"message": "Producto 123 actualizado correctamente"
}
{
"error": {
"message": "Error actualizando producto: [descripción del error]"
}
}
{
"credentials_id": "presta_tienda",
"product_id": 123,
"price": 29.99
}
{
"credentials_id": "presta_tienda",
"reference": "SKU-001",
"name": "Camiseta Premium Edición 2024",
"price": 24.99,
"active": true
}
{
"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"
}
{
"credentials_id": "presta_tienda",
"product_id": 789,
"weight": 0.5,
"width": 30,
"height": 40,
"depth": 5
}
{
"credentials_id": "presta_tienda",
"reference": "DISCONTINUED-001",
"active": false
}

Puedes usar datos del flujo de trabajo para actualizar productos dinámicamente:

// En un nodo ExecuteScript previo
ctx.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]
  1. Trigger HTTP: Recibe webhook con actualizaciones de precios
  2. Obtener datos CSV: Parsea el archivo de precios
  3. Loop: Itera sobre cada producto
  4. PrestaUpdateProduct: Actualiza precio en PrestaShop
  5. 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
ErrorCausaSolución
”Faltan credenciales”urlBase o apiKey vacíosVerifica la configuración de credenciales
”Producto no encontrado”ID o referencia incorrectaVerifica que el producto existe
”Error de autenticación”API Key inválidaGenera una nueva API Key
”Sin permisos”API Key sin permisosHabilita permisos de products en el backoffice
  • PrestaGetOrders - Obtener pedidos que incluyen el producto