En el mundo del comercio electrónico, PrestaShop sigue siendo una de las plataformas favoritas para desarrollar tiendas online de manera fácil y escalable. Dentro de su amplio ecosistema, uno de los recursos más potentes es su Webservice, que nos permite conectar nuestra tienda con aplicaciones externas, sistemas de gestión o cualquier servicio que necesite intercambiar datos con PrestaShop.

En este artículo abordaremos en profundidad:

  1. Qué es el webservice de PrestaShop.
  2. Cómo configurarlo (creación de claves de acceso y delimitación de funciones).
  3. Formatos de salida (XML y JSON) y filtrado de datos con ejemplos de uso.
  4. Casos de uso e integraciones habituales para sacarle el máximo partido.
  5. Ideas de implementaciones avanzadas.
  6. Novedades en PrestaShop 9 y su nueva API.
  7. Comparativa entre la versión actual y la que está por llegar.

¡Vamos a ello!


¿Qué es el Webservice de PrestaShop?

El Webservice de PrestaShop es un conjunto de herramientas (API) que permite a aplicaciones externas interactuar con la base de datos de tu tienda de forma segura. Con esta API, se pueden realizar operaciones de tipo CRUD (Crear, Leer, Actualizar y Eliminar) sobre recursos clave de PrestaShop: productos, pedidos, clientes, categorías, stocks, etc.

Gracias a este webservice, es posible:

  • Conectar tu tienda con ERPs, CRMs o sistemas de facturación.
  • Desarrollar aplicaciones móviles que consuman y actualicen datos de tu tienda.
  • Sincronizar inventarios y pedidos en múltiples plataformas (p. ej., Marketplaces).
  • Automatizar procesos y ahorrar tiempo en tareas rutinarias.

¿Cómo configurarlo?

Activación del webservice

  1. Ingresa al Back Office de PrestaShop.
  2. Dirígete a Parámetros Avanzados > Webservice.
  3. Habilita la opción “Activar PrestaShop Webservice”.

Esto enciende la funcionalidad necesaria para que se puedan generar y usar claves de acceso.

Creación de claves de acceso (API keys)

  1. En Parámetros Avanzados > Webservice, haz clic en “Añadir nueva clave de Webservice”.
  2. Genera o escribe manualmente una clave segura (cadena alfanumérica).
  3. Añade una descripción que identifique la integración (por ejemplo, “Integración ERP”).
  4. Activa la casilla “Estado” para que la clave quede operativa.
  5. Ajusta los permisos (Crear, Leer, Actualizar, Eliminar) en los distintos recursos disponibles.

Recomendación de seguridad: Nunca asignes más privilegios de los necesarios. Si solo se requiere lectura de productos, configura la clave con permisos de lectura exclusivamente sobre el recurso “products”.

webservice

 

Delimitación de funciones y acceso a contenidos

En la configuración de cada clave, puedes:

  • Determinar qué recursos (productos, pedidos, stocks, clientes…) puede manejar la integración.
  • Especificar qué acciones (CRUD) están permitidas sobre cada recurso.
  • Asegurarte de que las comunicaciones se realicen a través de SSL (HTTPS) para mayor seguridad.


Formatos de salida y filtrado de datos

El Webservice de PrestaShop, por defecto, devuelve los datos en XML, pero también permite solicitar la información en JSON y aplicar diversos filtros para optimizar y agilizar nuestras consultas.


XML por defecto y uso de JSON

Salida en XML

  • GET https://tutienda.com/api/products?ws_key=TU_CLAVE_WEBSERVICE
  • Respuesta (ejemplo)

Salida en JSON

Para obtener la respuesta en JSON, basta con añadir ?output_format=JSON (o &output=JSON en ciertas versiones) a la URL:

  • Solicitud
    GET https://tutienda.com/api/products?ws_key=TU_CLAVE_WEBSERVICE?output_format=JSON
  • Respuesta (ejemplo)

Consejo: JSON suele ser más cómodo si integras datos en aplicaciones móviles o en proyectos con JavaScript.


Filtrado de datos

La API de PrestaShop ofrece diferentes parámetros de filtrado para devolver solo la información necesaria. Esto contribuye a reducir el consumo de recursos y hace más manejable la respuesta.


Filtro sencillo por campo

Podemos filtrar, por ejemplo, los productos cuyo id sea 1:

GET https://tutienda.com/api/products?filter[id]=1&ws_key=TU_CLAVE_WEBSERVICE&output_format=JSON

De esta manera, la respuesta incluirá únicamente el producto con id=1.


Filtros de tipo “intervalo” o “lista”

PrestaShop permite filtros avanzados utilizando corchetes [].

  • Lista de valores
    filter[id]=[1|2|3]

    Devolverá los productos con id=1, id=2 o id=3.

  • Intervalos
    filter[id]=[1,5]

    Devolverá los productos con id >= 1 y id <= 5.

  • Mayor o menor que
    • filter[price]=[10,] → precio >= 10
    • filter[price]=[,50] → precio <= 50


Búsqueda parcial (comodines)

Para buscar cadenas parciales, PrestaShop admite el uso de * (comodín). Por ejemplo, si deseamos buscar en name cualquier producto que contenga la palabra “camisa”:

filter[name]=[%camisa%]

De esta forma, se devuelven todos los productos cuyo nombre contenga “camisa”.


Seleccionar qué campos mostrar (display)

Por defecto, el webservice devuelve todos los campos del recurso. Para optimizar aún más la respuesta, podemos usar display.

  • display=full
    Devuelve todos los campos del recurso.
  • display=[campo1,campo2]
    Devuelve únicamente los campos especificados.

Ejemplo: Obtener solo el id y el name de los productos:

GET https://tutienda.com/api/products?display=[id,name]&ws_key=TU_CLAVE_WEBSERVICE&output_format=JSON


Ordenación de resultados (sort)

Para ordenar la respuesta, se incluye el parámetro sort, con la sintaxis:

sort=[field_ASC]
o
sort=[field_DESC]

Ejemplo: Ordenar los productos por precio ascendente.

GET https://tutienda.com/api/products?sort=[price_ASC]&ws_key=TU_CLAVE_WEBSERVICE&output_format=JSON


Filtrado por fechas

Muchas veces necesitamos acotar la información a un rango de fechas específico (por ejemplo, para ver pedidos realizados en el último mes). La mayoría de los recursos en PrestaShop incluyen campos como date_add (fecha de creación) y date_upd (fecha de última actualización).

  • Filtrar productos creados entre el 1 y el 31 de enero de 2023
    GET https://tutienda.com/api/products?
    filter[date_add]=[2023-01-01 00:00:00,2023-01-31 23:59:59]
    &ws_key=TU_CLAVE_WEBSERVICE
    &output_format=JSON
  • Filtrar pedidos actualizados después del 1 de febrero de 2023
    GET https://tutienda.com/api/orders?
    filter[date_upd]=[2023-02-01 00:00:00,]
    &ws_key=TU_CLAVE_WEBSERVICE
    &output_format=JSON

Importante: Asegúrate de usar el formato de fecha que emplea PrestaShop (generalmente YYYY-MM-DD HH:MM:SS). Si utilizas otro formato, podrías obtener errores o resultados vacíos.


Tips de uso y mejores prácticas

  • Combina múltiples filtros: Puedes filtrar por rango de fechas, categoría o precio en una sola llamada, mejorando la eficiencia.
  • Verifica la sintaxis según tu versión de PrestaShop: La forma de filtrar y los nombres de los campos pueden variar ligeramente entre versiones.
  • Pruébalo en un entorno de prueba antes de aplicarlo en producción para evitar sorpresas o sobrecarga en el servidor.


Con estos ajustes en la salida (XML/JSON) y la gestión de filtros (campo, intervalos, fecha, orden, etc.), podrás optimizar tus integraciones y desarrollar funcionalidades mucho más robustas dentro del ecosistema de PrestaShop.


Casos de uso e integraciones habituales

Ahora que sabemos cómo se configura y cómo podemos filtrar y formatear los datos, veamos los usos más comunes:

  1. Sincronización con ERP: Control de stock y facturación en tiempo real.
  2. Integración con CRM: Actualización de clientes, estado de pedidos, históricos de compras.
  3. Aplicaciones móviles: Catálogo siempre actualizado y posibilidad de tramitar pedidos desde el móvil.
  4. Marketplaces y agregadores: Envío y sincronización de productos a plataformas externas (Amazon, eBay, etc.).
  5. Reporting avanzado: Extracción de datos para dashboards de BI (Business Intelligence).

Ideas de implementaciones avanzadas

  • Automatización de marketing: Conectar tu tienda a servicios de email marketing y disparar campañas basadas en el comportamiento de compra (por ejemplo, un correo de “producto complementario” tras un determinado pedido).
  • Gestión multi-almacén: Actualiza stocks en tiempo real en diferentes ubicaciones físicas.
  • Sistemas de recomendación: Enviar datos de comportamiento y ventas a un motor de recomendaciones que devuelva sugerencias de productos.
  • Generación de documentos: Facturas y albaranes automáticos, integrando proveedores de facturación electrónica.

Novedades en PrestaShop 9: Una API renovada

Nueva estructura de API

De un webservice clásico a un enfoque más moderno

  • Mejor adopción de REST: Aunque PrestaShop ya ofrece endpoints REST, se espera que la nueva API reorganice y unifique los recursos para que sean más coherentes y fáciles de entender. Muchas de las limitaciones del webservice actual (filtros con sintaxis algo compleja, falta de algunos endpoints o recursos) podrían resolverse con una API modernizada.
  • Posibilidad de GraphQL: Hay quienes apuntan a la adopción de GraphQL o a un REST híbrido con mejores capacidades de filtrado y selección de campos en un solo endpoint. GraphQL, por su naturaleza, permite a los clientes solicitar exactamente los datos que necesitan, algo que optimiza tanto la carga de trabajo como el tráfico en red.
  • Organización de endpoints: Se espera que cada entidad (productos, pedidos, categorías, clientes…) cuente con endpoints específicos y mejor estructurados, facilitando la gestión de recursos y reduciendo confusiones en la documentación.

Beneficios esperados

  1. Mayor consistencia: Las reglas de formato, validación y métodos disponibles (GET, POST, PUT, DELETE) estarán más unificadas.
  2. Facilidad de uso: Los endpoints serán más descriptivos y se reducirá la curva de aprendizaje para nuevos desarrolladores.
  3. Evolución más rápida: Con una arquitectura bien definida, la API podrá recibir mejoras constantes (nuevos campos, nuevas funcionalidades) sin romper la compatibilidad de versiones.

Autenticación mejorada

Soporte para OAuth2 o JWT

  • Más seguridad: El actual método de autenticación se basa en “clave de webservice” (API key) y HTTP Basic Auth. Esto, si bien es funcional, no es lo más moderno ni seguro para integraciones a gran escala o que requieran flujos de autenticación más elaborados.
  • Flujos de OAuth2: La adopción de OAuth2 permitirá que aplicaciones de terceros se conecten a tu PrestaShop sin exponer directamente la clave maestra o las contraseñas, ofreciendo tokens temporales y más control sobre los permisos.
  • JWT (JSON Web Tokens): Permite intercambiar información de autenticación/autorización de forma compacta y segura en formato JSON. Esto facilita la integración con aplicaciones que necesiten autenticar múltiples usuarios, o conceder permisos de forma granular.

Beneficios esperados

  1. Flujos de login más claros: Especialmente útil para apps móviles o webapps que gestionen usuarios finales.
  2. Control granular: Asignar permisos limitados a cada integración, vencimientos de tokens y revocación inmediata de accesos.
  3. Cumplimiento de estándares: Mejor integración con herramientas y frameworks de terceros (por ejemplo, sistemas de CI/CD o grandes ERPs).

Validaciones y manejo de errores más robusto

De mensajes escuetos a respuestas descriptivas

  • Validaciones previas: Antes de insertar o actualizar datos, la nueva API podrá ejecutar validaciones más exhaustivas, devolviendo mensajes claros si faltan campos obligatorios, si hay formatos incorrectos (como un correo mal escrito) o si el valor no cumple las restricciones del recurso.
  • Estructura de errores estándar: En lugar de sencillos códigos HTTP y texto plano, se prevé un sistema de mensajes JSON con campos como code, message, e incluso details o errors que indiquen los problemas específicos (por ejemplo, qué campo falló la validación).

Ejemplo de respuesta de error esperada:

Beneficios esperados

  1. Facilidad de depuración: Los desarrolladores podrán entender rápidamente por qué una petición ha fallado.
  2. Menos riesgos de datos corruptos: Con un sistema de validación robusto, la base de datos estará más protegida ante inserciones incompletas o erróneas.
  3. Aplicaciones más confiables: Al saber exactamente cómo manejar los errores, los clientes de la API podrán implementar flujos de retry, notificaciones, etc.

Documentación actualizada

Adiós a la confusión y bienvenida a guías más prácticas

  • Estándares de documentación: Se rumorea que la nueva documentación podría adoptar formatos como OpenAPI/Swagger, lo que proporcionaría una interfaz interactiva para probar los endpoints, ver ejemplos en distintos lenguajes (PHP, JavaScript, Python, etc.) y facilitar la integración.
  • Ejemplos detallados y tutoriales: Se espera que la comunidad obtenga guías paso a paso (por ejemplo, “Cómo crear un producto”, “Cómo actualizar el stock”, “Cómo configurar OAuth2”), facilitando el trabajo tanto a veteranos como a los recién llegados.
  • Buenas prácticas y patrones: Incluirá recomendaciones de seguridad, optimización del rendimiento, e incluso patrones de arquitectura para integrar PrestaShop con sistemas complejos.

Beneficios esperados

  1. Reducción de la curva de aprendizaje: Más ejemplos prácticos y menos ambigüedades a la hora de implementar.
  2. Más adopción: Una API bien documentada anima a más servicios y desarrolladores a integrarse con PrestaShop.
  3. Comunidad fortalecida: Al tener una guía oficial clara, se facilita la creación de módulos y complementos de terceros de mayor calidad.

¿Qué más podemos esperar de esta nueva API?

  • Optimización del rendimiento: No solo se trata de añadir nuevos endpoints o adoptar estándares modernos; también es probable que haya mejoras en caché, indexación y consultas para responder más rápido a altas cargas.
  • Mayor modularidad: Se busca que los desarrolladores puedan extender la API con sus propios endpoints o recursos sin necesidad de “hackear” el core de PrestaShop. Podríamos ver un sistema de hooks o middleware más sofisticado.
  • Compatibilidad y migración: Aunque aún no hay confirmación oficial, es probable que la nueva API conviva un tiempo con la actual (o mantenga cierta compatibilidad) para facilitar la transición. Las integraciones existentes no deberían romperse de inmediato, aunque sí se recomienda planificar la migración.

La API renovada de PrestaShop 9 supone un paso firme hacia la modernización de la plataforma. Con mejoras en la estructura REST (o incluso la posible adopción de GraphQL), nuevos métodos de autenticación (OAuth2, JWT) y un manejo de errores más detallado, las posibilidades de integración y escalabilidad crecen exponencialmente.

  • Mayor seguridad: adiós a los sistemas de acceso basados únicamente en claves API y HTTP Basic; llegan métodos más robustos y populares.
  • Más facilidad para desarrolladores: documentación clara, unificada, con ejemplos reales y un sistema de errores descriptivo.
  • Proyectos de gran envergadura: la nueva arquitectura permitirá a grandes negocios, agencias y desarrolladores llevar sus integraciones al siguiente nivel sin temor a cuellos de botella o falta de flexibilidad.

Para quienes ya usan PrestaShop, es recomendable mantenerse al día con los anuncios oficiales y participar en la comunidad. Así podrás preparar tus integraciones, módulos y flujos de trabajo para un tránsito fluido hacia la nueva versión y aprovechar todas las ventajas que ofrece esta API de última generación.


7. Comparativa entre la versión actual y la que está por llegar

CaracterísticaWebservice Actual (PS < 9)Nueva API (PS 9)
Protocolo y estructuraEndpoints REST algo básicos, retorno en XML por defecto (permite JSON con output_format).Mejor organización de endpoints. Posible adopción de GraphQL o un REST más avanzado.
Formato de autenticaciónUso principal de claves basadas en HTTP Basic.Compatibilidad con estándares más seguros (OAuth2, JWT, etc.).
Formato de salidaXML por defecto; se permite JSON con parámetros en la URL.Se espera un soporte más nativo y flexible para JSON/GraphQL.
Filtrado y displayFiltros en la URL usando corchetes, comodines y display=[campos].Se mantendrá (o mejorará) la capacidad de filtrado y selección de campos.
Manejo de erroresRespuestas simples con poca descripción.Mensajes de error y validaciones más completos y detallados.
Escalabilidad y rendimientoAdecuada para tiendas medianas/pequeñas.Optimización para grandes proyectos, más robusto ante alta concurrencia.
Documentación y comunidadDocumentación oficial buena pero a veces confusa.Se prevé una documentación renovada y más clara.

El Webservice de PrestaShop es una herramienta fundamental para todo proyecto de eCommerce que busque:

  • Integración con sistemas externos (ERP, CRM, Marketplaces…).
  • Automatización de procesos (gestión de stock, facturación, marketing…).
  • Personalización y creación de nuevas aplicaciones (móvil, escritorio, dashboards…).

Con la llegada de PrestaShop 9, la API promete ser más potente, flexible y segura. Esto supone un salto cualitativo para la comunidad de desarrolladores y las empresas que requieren una integración a gran escala.

Si te interesa optimizar tus procesos, te animo a explorar el webservice actual y estar atento a las noticias sobre PrestaShop 9. De esta manera, podrás migrar o adaptar tus integraciones a la nueva API cuando sea oficial y estable, garantizando la mejor experiencia tanto para tu equipo de desarrollo como para tus clientes finales.


¿Necesitas ayuda con el Webservice de PrestaShop?

Si tienes dudas sobre cómo aplicar filtros o cambiar el formato de salida a JSON, o quieres prepararte para la nueva versión de la API en PrestaShop 9, ¡no dudes en dejar un comentario o contactarnos! Con gusto podemos ayudarte a encontrar la solución perfecta para tu negocio y sacarle el máximo partido a tu tienda online.

Desarrollador en Amarillo Limón | aretas@amarillolimon.net |  + posts

Aretas Kamarauskas ha estado vinculado al mundo de la informática desde siempre, con una formación especializada en Desarrollo de Aplicaciones Web (DAW). A lo largo de su carrera, ha adquirido experiencia en el desarrollo y mantenimiento de plataformas eCommerce, especialmente en herramientas como Prestashop y WordPress.