Abilitare API Prestashop, una procedura molto semplice ma che a volte può creare dei problemi o può non funzionare come vorremmo, in questo articolo vi proponiamo la procedura complema che vi permetterà di abilitare Api prestashop in modo semplice e veloce.
Perchè abilitare API Prestashop?
I motivi possono essere molteplici ma quello più importante è sicuramente la possibilità di interagire con i prodotti/servizi , le loro giacenze, combinazioni, attributi e funzionalità al fine di integrare il sito web con la gestione interna del negozio fisico e quindi sincronizzare il gestionale dello shop fisco con il negozio e-commerce.
Procedura completa
La prima cosa da fare è entrare nel pa
nnello di controllo di prestashop, andare sul menù a sinistra su Parametri Avanzati e selezionare la voce Webservice.
Qui è necessario come prima cosa abilitare l
e due voci Attiva servizio web PrestaShop e Abilita la modalità CGI per il PHP, e poi andare in alto a destra sulla voce Aggiungi una nuova chiave di servizio.
Qui bisogna creare una nuova chiave, consiglio sempre di mettere anche una descrizione perchè magari ci potrebbe servire abilitare più chiavi in relazione a quello che ci servi
rà, bisogna quindi abilitare la chiave ed assegnare i permessi desiderati che dipenderanno dalle singole esigenze personali e di gestione.
Inseriti tutti i dati basta salvare, adesso le api prestashop sono abilitate ed il webservice potrà essere consumato dall’esterno, prima però è necessario verificare che non ci siano stati problemi e quindi testare le api.
Ci sono diversi modi per testare le api ma quello più semplice è andare all’indirizzo https://www.miosito.xx/api , si aprirà un form che vi chiederà di inserire nome utente e password, lasciate il campo password vuoto ed inserite nel campo nome utente la chiave che è stata precedentemente generata.
Se tutto va bene la chiamata restituirà l’elenco dei metodi disponibili in formato XML in base ai permessi che avete dato, ma attenzione però, nella maggior parte dei casi questo non avverrà ed il form con la richiesta di nome utente e password vi comparirà in continuazione, come mai succede questo?
Il problema si verifica perchè l‘endpoint “/api” è raggiungibile solo se l’URL viene riscritto correttamente, il permesso di riscrittura si trova dentro il file .htaccess, il che significa che dobbiamo assicurarci che il mod_rewrite sia abilitato sul file e che l’hosting abbiamo la direttiva AllowOverride impostata su All , quasi tutti gli hosting in circolazione hanno questa direttiva su All , qualche server fai da te potrebbe non averla ma succede raramente.
Quello che dobbiamo fare, nel caso si verifichi questo problema, è agire sul file .htaccess che si trova nella root del nostro sito web, apritelo ed inserite subito dopo RewriteEngine on:
RewriteCond %{HTTP:Authorization} ^(.)
RewriteRule ^(.) – [E=HTTP_AUTHORIZATION:%1]
mentre alla fine del file va inserito
CGIPassAuth On
A questo punto avete finito, ritestate la api e vi comparirà l’elenco dei metodi in formato XML.
In ogni caso consigliamo di leggere il link alla pagina ufficiale di prestashop
https://devdocs.prestashop.com/1.7/webservice/getting-started/
Contattateci per qualsiasi info e esigenza.