Admin API e Webservice in PrestaShop 9: quando usare ciascuna
PrestaShop 9 introduce una moderna API di amministrazione, ma il Webservice di sempre è ancora lì. Ti aiutiamo a scegliere per la tua integrazione.
Per più di un decennio, il modo di comunicare con PrestaShop dall'esterno è stato il Webservice: un'API REST con XML (o JSON) e una chiave per integrazione. PrestaShop 9 introduce una nuova Admin API, costruita su API Platform e con autenticazione OAuth2. Convivono, ed è bene sapere quale usare.
Il Webservice classico
- Si attiva in Parametri avanzati > Webservice, creando una chiave con permessi per risorsa.
- Autenticazione di base con la chiave come utente.
- Copre quasi tutto il modello dati: prodotti, combinazioni, ordini, clienti, stock…
- Si basa sugli
ObjectModeldel core: ciò che salvi passa per le stesse validazioni del vecchio back office.
curl -u CLAVE: "https://tienda.com/api/products/12?output_format=JSON"
La Admin API
- Autenticazione OAuth2 con client credentials: richiedi un token di accesso e lo usi nell'intestazione
Authorization: Bearer. - JSON nativo, documentazione generata automaticamente e permessi per scopes.
- Le sue operazioni riutilizzano i comandi e le query (CQRS) del nuovo back office, quindi la logica è la stessa delle schermate Symfony.
- La sua copertura cresce versione dopo versione; nelle prime versioni di PrestaShop 9 non arriva a tutte le risorse che il Webservice invece ha.
Quale scelgo?
| Situazione | Raccomandazione |
|---|---|
| Nuova integrazione con risorse che la Admin API copre già | Admin API |
| Ti serve una risorsa che la Admin API non ha ancora | Webservice |
| Negozio su PrestaShop 8 o precedente | Webservice |
| ERP che comunica già con il Webservice e funziona | Non cambiarlo senza motivo |
Consigli per qualsiasi integrazione
- Una chiave o un client per integrazione, con i permessi minimi. Se una viene compromessa, la revochi senza toccare le altre.
- Sempre via HTTPS.
- Paginazione e filtri: non chiedere tutti gli ordini della storia a ogni chiamata.
- Registro delle chiamate dalla tua parte: quando qualcosa non torna, saprai cosa è stato inviato e quando.
Vuoi applicarlo al tuo negozio? Rekire ti aiuta: sviluppo di moduli PrestaShop su misura e assistenza tecnica PrestaShop a pacchetti di ore.