Blog

PrestaShop y ERP: cómo integrar la tienda por webservice

Cómo conectar PrestaShop con tu ERP por su webservice: referencia y combinaciones, stock, precios por grupo de clientes, pedidos, RUT y errores comunes.

PrestaShop se conecta con un ERP por su webservice, la API que trae la tienda para que otros sistemas lean y escriban sus datos. El ERP envía productos, stock y precios. La tienda entrega los pedidos. Esta guía explica cómo se habilita, cómo se modela cada dato y qué errores se repiten.

Qué datos van en cada sentido

Dato Sentido Recurso del webservice
Productos ERP a PrestaShop products
Tallas y colores ERP a PrestaShop combinations
Stock ERP a PrestaShop stock_availables
Precios por grupo o cliente ERP a PrestaShop specific_prices
Pedidos PrestaShop a ERP orders
Clientes y direcciones PrestaShop a ERP customers y addresses
Estado del pedido ERP a PrestaShop order_histories

Fuente: Webservice, PrestaShop Developer Documentation.

Cómo se habilita el webservice

El webservice viene apagado. Se activa desde el panel de administración:

  1. En Parámetros avanzados > Webservice, activar la opción “Enable PrestaShop Webservice”.
  2. En la misma página, agregar una clave nueva y generarla. Si la escribes a mano, debe tener 32 caracteres.
  3. Darle una descripción y marcar los permisos por recurso.

Los permisos se asignan recurso por recurso y método por método. La documentación de PrestaShop es explícita: no hay que dar todos los permisos sobre todos los recursos a una clave. Una integración con el ERP necesita productos, combinaciones, stock, precios específicos, clientes, direcciones y pedidos. No necesita empleados ni configuración.

Con multitienda activa, la clave también se asocia a las tiendas en las que puede operar.

Autenticación y formato

  • La API responde en la ruta /api/ de la tienda.
  • Se usa autenticación Basic. El usuario es la clave y la contraseña va vacía.
  • La clave también se puede poner en la URL. PrestaShop advierte que eso nunca debe usarse en una tienda en producción.
  • La respuesta viene en XML. Con el parámetro output_format=JSON viene en JSON.

Un problema conocido al instalar: en algunos servidores el encabezado de autorización no llega a PrestaShop y la API pide credenciales una y otra vez. La documentación sugiere activar CGIPassAuth On en el .htaccess.

Producto, combinación y la referencia

En PrestaShop el campo que guarda el código del producto se llama referencia (reference). Admite hasta 64 caracteres. El código del ERP va ahí.

Las tallas y colores se modelan como combinaciones. Una combinación pertenece a un producto (id_product), se arma con valores de atributos, como talla M y color azul, y tiene su propia referencia, su código de barras y su campo de precio.

En la mayoría de los ERP cada talla o color es un código distinto. El cruce queda así:

  • Producto sin variantes: el código del ERP es la referencia del producto.
  • Producto con variantes: cada código del ERP es la referencia de una combinación. El producto solo agrupa.

Esta regla tiene que cumplirse sin excepciones. Si una combinación queda sin referencia, o con una distinta a la del ERP, su stock y su precio dejan de actualizarse y nadie lo nota hasta que hay una sobreventa.

Como en otras plataformas, lo habitual es que el ERP mantenga código, nombre, precio y stock, y que las fotos, descripciones y atributos se trabajen en la tienda.

Stock

El campo quantity del producto es de solo lectura en el webservice. El stock no se escribe ahí. Se escribe en el recurso stock_availables, que tiene un registro por producto o por combinación:

Campo Qué es
id_product El producto
id_product_attribute La combinación
id_shop La tienda, en multitienda
quantity La cantidad disponible

Fuente: Stock availables, PrestaShop Developer Documentation.

A diferencia de VTEX o Magento, lo que la tienda publica es una cantidad por producto o combinación, no una por bodega. El cruce con un ERP de varias bodegas se resuelve antes de enviar:

  • Eliges qué bodegas cuentan para la tienda.
  • La integración suma el disponible de esas bodegas.
  • Envía un solo número por producto o combinación.

Las bodegas de tránsito, de mermas o del canal mayorista quedan fuera de la suma. Y lo que se publica es el stock disponible, descontando lo comprometido, no el físico. En sobreventa de stock multicanal explicamos por qué ese descuento tiene que salir del ERP.

Precios y precios por grupo

El producto tiene un precio (price) y un grupo de reglas de impuestos (id_tax_rules_group). La combinación tiene su propio campo de precio.

Para vender con precios distintos según quién compra existe el recurso specific_prices. Un precio específico se define con estos campos:

Campo Para qué sirve
id_product y id_product_attribute A qué producto o combinación aplica
id_group A qué grupo de clientes aplica
id_customer A qué cliente aplica
id_shop En qué tienda
price Precio fijo
reduction y reduction_type Descuento y su tipo
from_quantity Desde cuántas unidades
from y to Vigencia

Fuente: Specific prices, PrestaShop Developer Documentation.

El cruce con el ERP: la lista de precios principal es el precio del producto. Una lista mayorista o de convenio se carga como precio específico del grupo de clientes que corresponda. El cliente ve su precio al iniciar sesión y la lista se sigue manteniendo en el ERP. El modelo completo está en precios por cliente en un ecommerce B2B.

Para revisar qué precio verá un cliente, el webservice puede devolver el precio ya calculado. Se pide agregando a la consulta del producto parámetros como price[mi_precio][use_tax]=1, con opciones para el grupo de clientes, la cantidad y la combinación.

Antes de cargar precios, confirma con tu equipo si el valor que envías va con IVA o sin IVA y qué regla de impuestos tiene el producto. Es la causa más común de precios con un 19 % de diferencia.

Pedidos

Los pedidos se leen del recurso orders. Cada pedido trae:

  • Su referencia y su estado actual (current_state).
  • El cliente (id_customer) y las direcciones de facturación y de despacho (id_address_invoice, id_address_delivery).
  • El medio de pago y los totales.
  • Las líneas (order_rows), cada una con la referencia del producto, la cantidad y el precio unitario con impuestos.

Las líneas ya traen la referencia. Si la regla del código se cumplió, la integración no necesita consultar el catálogo para saber qué producto del ERP se vendió.

Las listas del webservice aceptan parámetros para pedir solo lo necesario:

Parámetro Ejemplo Qué hace
display display=full o display=[id,reference] Elige los campos de la respuesta
filter filter[current_state]=[2] Filtra por el valor de un campo. Admite listas y rangos
sort sort=[id_DESC] Ordena
limit limit=0,50 Pagina: desde qué posición y cuántos

Fuente: Additional list parameters, PrestaShop Developer Documentation.

Lo habitual es leer los pedidos cuando llegan al estado que defines, por ejemplo pago aceptado, y crear en el ERP la nota de venta, la boleta o la factura. Los estados de tu tienda están en el recurso order_states. Revisa sus identificadores antes de programar el filtro, porque una tienda puede tener estados propios.

El historial de estados de un pedido es el recurso order_histories, que relaciona el pedido con cada estado por el que pasó. El número de seguimiento del despacho es el campo shipping_number del pedido.

Boleta, factura y RUT

El webservice de PrestaShop que revisamos no incluye la emisión de documentos tributarios electrónicos ante el SII. La factura que genera PrestaShop es un documento interno de la tienda. El DTE lo emite tu ERP o tu proveedor de facturación.

La regla habitual en Chile es boleta para personas y factura para empresas. Los datos para decidirlo están en la dirección de facturación del pedido. El recurso addresses tiene tres campos útiles:

Campo Uso habitual
dni Número de identificación
vat_number Número de IVA
company Razón social

Fuente: Addresses, PrestaShop Developer Documentation.

El RUT puede quedar en dni o en vat_number, según cómo esté armado tu checkout. La integración tiene que saber cuál usas, validar el RUT y buscar al cliente en el ERP antes de crearlo. Si el checkout no pide el RUT, no hay cómo emitir una factura sin llamar al cliente.

Las reglas de boleta y factura son las mismas que describimos en facturación electrónica para tiendas online en Chile.

La Admin API de PrestaShop 9

PrestaShop 9 trae una API nueva, la Admin API. Está construida sobre API Platform y usa OAuth para la autorización, en lugar de una clave fija. La documentación de la versión 9 mantiene las dos: el webservice y la Admin API.

Para una integración con el ERP, el webservice sigue siendo el camino común porque también existe en las versiones anteriores de PrestaShop. Si tu tienda ya está en la versión 9, pregunta a quien haga la integración cuál de las dos va a usar y por qué.

Errores típicos

  • Combinaciones sin referencia. El producto cruza con el ERP y sus tallas no.
  • Escribir el stock en el producto. El campo quantity del producto es de solo lectura. El stock va en stock_availables.
  • Una clave con todos los permisos. Si se filtra, quien la tenga puede leer clientes y borrar el catálogo.
  • La clave en la URL. PrestaShop advierte que nunca debe usarse en una tienda en producción.
  • Autenticación que falla en un servidor y en otro no. El encabezado de autorización no llega a PrestaShop.
  • Precios con o sin IVA mezclados. El precio del producto y la regla de impuestos no calzan con la lista del ERP.
  • Filtro por el estado equivocado. Una tienda puede tener estados propios, con otros identificadores.
  • Checkout sin RUT. Los pedidos de empresas entran sin los datos para facturar.

Qué definir antes de partir

  • Qué versión de PrestaShop tienes y si usas multitienda.
  • Que la referencia de cada producto y de cada combinación sea el código del ERP.
  • Qué bodegas suman al stock de la tienda.
  • Qué lista es el precio del producto y qué listas van como precio específico por grupo.
  • En qué estado se lee el pedido y qué documento crea en el ERP.
  • En qué campo de la dirección queda el RUT.
  • Qué pasa con las devoluciones: nota de crédito automática o aviso a tu equipo.

ERPSync con PrestaShop

ERPSync conecta el ERP con PrestaShop por el webservice, sin instalar un módulo en la mayoría de los casos. Nuestra especialidad es Softland: en la ficha de Softland con PrestaShop está el detalle de qué se sincroniza, el cruce de campos y los requisitos. El stock y los precios se actualizan cada 5 minutos desde las bodegas y listas que elijas, y cada pedido entra a Softland como nota de venta o factura, con el cliente identificado por RUT.

También trabajamos con otros ERP, previa revisión técnica de tu caso. La lista completa está en integraciones.

Cuesta 0,80 UF al mes por integración, sin límite de pedidos ni de productos. Puede haber un costo inicial, que cotizamos después de revisar tu caso. Hay prueba de 14 días. El detalle está en precios.

Preguntas frecuentes

¿PrestaShop tiene API para conectar un ERP?

Sí. Se llama webservice y permite crear, leer, modificar y borrar los datos de la tienda. Viene apagado y se activa en Parámetros avanzados > Webservice.

¿Necesito instalar un módulo?

No necesariamente. El webservice es parte de PrestaShop y basta con activarlo y crear una clave con permisos. Hay integraciones que usan un módulo cuando necesitan algo que el webservice no cubre.

¿Cómo se manejan las tallas y colores?

Con combinaciones. Cada combinación lleva en su referencia el código que ese artículo tiene en el ERP, y tiene su propio stock.

¿PrestaShop maneja stock por bodega?

Lo que la tienda publica es una cantidad por producto o combinación. Con varias bodegas en el ERP, la integración suma las que elijas y envía un solo número.

¿Puedo tener precios distintos para mayoristas?

Sí, con precios específicos por grupo de clientes. Cada lista del ERP se carga al grupo que corresponde.

¿PrestaShop emite boleta o factura electrónica en Chile?

En la documentación de su webservice no aparece la emisión de DTE ante el SII. El documento lo emite tu ERP o tu proveedor de facturación.

Fuentes

Consultadas el 10 de noviembre de 2026.

Escrito por el equipo de ERPSync, especialistas en integraciones con Softland. Quiénes somos

Conecta tu ERP y deja de digitar pedidos

Revisamos tu instalación gratis y te respondemos en menos de un día hábil.