Admin API y Webservice en PrestaShop 9: cuándo usar cada una
PrestaShop 9 estrena una API de administración moderna, pero el Webservice de siempre sigue ahí. Te ayudamos a elegir para tu integración.
Durante más de una década, la forma de hablar con PrestaShop desde fuera ha sido el Webservice: una API REST con XML (o JSON) y una clave por integración. PrestaShop 9 introduce una Admin API nueva, construida sobre API Platform y con autenticación OAuth2. Conviven, y conviene saber cuál usar.
El Webservice clásico
- Se activa en Parámetros avanzados > Webservice, creando una clave con permisos por recurso.
- Autenticación básica con la clave como usuario.
- Cubre casi todo el modelo de datos: productos, combinaciones, pedidos, clientes, stock…
- Está basado en los
ObjectModeldel núcleo: lo que guardas pasa por las mismas validaciones que el back office antiguo.
curl -u CLAVE: "https://tienda.com/api/products/12?output_format=JSON"
La Admin API
- Autenticación OAuth2 con client credentials: pides un token de acceso y lo usas en la cabecera
Authorization: Bearer. - JSON nativo, documentación generada automáticamente y permisos por scopes.
- Sus operaciones reutilizan los comandos y consultas (CQRS) del nuevo back office, así que la lógica es la misma que la de las pantallas de Symfony.
- Su cobertura crece versión a versión; en las primeras versiones de PrestaShop 9 no llega a todos los recursos que sí tiene el Webservice.
¿Cuál elijo?
| Situación | Recomendación |
|---|---|
| Integración nueva con recursos que la Admin API ya cubre | Admin API |
| Necesitas un recurso que la Admin API aún no tiene | Webservice |
| Tienda en PrestaShop 8 o anterior | Webservice |
| ERP que ya habla con el Webservice y funciona | No lo cambies sin motivo |
Consejos para cualquier integración
- Una clave o un cliente por integración, con los permisos mínimos. Si una se filtra, se revoca sin tocar las demás.
- Siempre por HTTPS.
- Paginación y filtros: no pidas todos los pedidos de la historia en cada llamada.
- Registro de llamadas en tu lado: cuando algo no cuadre, sabrás qué se envió y cuándo.
¿Quieres aplicarlo en tu tienda? En Rekire te ayudamos: desarrollo de módulos PrestaShop a medida y soporte técnico PrestaShop por bonos de horas.