zipy03 Posted December 2, 2015 Share Posted December 2, 2015 Da qualche giorno sto provando prestashop per integrarlo nel mio gestionale ma non ho capito bene il funzionamento dell'integrazione o meglio riesco solamente ad accedere ai dati per esempio con chiamate del tipo http://miosito/api/products/1 e' possibile anche modificarli e ricevere notifiche dal sistema per esempio quando viene compilato un nuovo ordine? oppure è necessario creare un modulo? Link to comment Share on other sites More sharing options...
Daniel_WM Posted December 2, 2015 Share Posted December 2, 2015 Ciao, qui trovi tutta la documentazione API http://doc.prestashop.com/display/PS16/Using+the+PrestaShop+Web+Service Il funzionamento è abbastanza semplice, almeno per chi conosce già il funzionamento dei webservice. Quello che hai postato te come esempio ti mostra semplicemente i campi dei prodotto con ID=1. Mentre con i webservice puoi fare qualsiasi tipo di operazione su tutto il database; creare, richiamare, aggiornare, eliminare ( CRUD ). Fammi sapere se ti serve qualche consiglio. 1 Link to comment Share on other sites More sharing options...
zipy03 Posted December 2, 2015 Author Share Posted December 2, 2015 Scusami mi sono spiegato male, ho ben chiaro che quello che ho postato mi mostra i campi del prodotto di ID=1. Esiste un sistema di notifiche che permette alla mia applicazione di sapere quando viene creato un nuovo ordine? Link to comment Share on other sites More sharing options...
caygri Posted December 3, 2015 Share Posted December 3, 2015 1. devi o non devi comunicare con il tuo gestionale? 2. hai bisogno di solo un email per il nuovo ordine? Sii più chiaro con quello che ti serve Link to comment Share on other sites More sharing options...
zipy03 Posted December 3, 2015 Author Share Posted December 3, 2015 Probabilmente ho fatto un po di confusione, cerco di ricapitolare Ho un gestionale e mi piacerebbe integrarlo con un ecommerce e prestashop sembra calzare a pennello, con le api a disposizione posso creare modificare aggiornare ed eliminare praticamente tutto ma manca la funzionalità principale per l'integrazione con un gestionale esterno a mio avviso ovvero la notifica per la creazione di un nuovo ordine, presumo che questa funzionalità sia presente in prestashop ma non riesco a trovarla. Praticamente l'utente che utilizza il gestionale deve trovarsi gli ordini provenienti da prestashop già inseriti ma senza un sistema di notifiche sarei costretto a "bombardare" di richieste prestashop per controllare l'eventuale presenza di nuovi ordini Link to comment Share on other sites More sharing options...
caygri Posted December 4, 2015 Share Posted December 4, 2015 1. come si chiama il tuo gestionale? penso che al 90% dei casi già ci sia il modulo pronto. Link to comment Share on other sites More sharing options...
Daniel_WM Posted December 4, 2015 Share Posted December 4, 2015 Ciao, esiste la funzione nel core di prestashop che invia l'email di notifica ad ogni ordine creato. Basta aggiungere a questa funzione l'invio del file xml generato tramite webservice, al tuo gestionale, tramite una chiamata di tipo POST. Se il gestionale è abbastanza sviluppato, riesce a ricevere la chiamata ed inserisce automaticamente l'ordine, altrimenti specifica il tipo di gestionale che usi cosi vediamo nelle istruzioni di cosa ha bisogno. Link to comment Share on other sites More sharing options...
Daniel_WM Posted December 4, 2015 Share Posted December 4, 2015 (edited) La funzione la trovi nel modulo mailalerts/mailalerts.php , si chiama "private function _postProcess()". A questa funzione devi aggiungere la creazione delle variabili da trasmettere tramite webservice es: <?php define('DEBUG', true); define('PS_SHOP_PATH', 'il tuo url'); define('PS_WS_AUTH_KEY', 'la tua key'); require_once('./PSWebServiceLibrary.php'); // devi fare attenzione ed inserire il percorso giusto del file PSWebServiceLibrary.php // creo le variabili dell'ordine ID=1 try { $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); $opt['resource'] = 'orders'; $opt['id'] = 1; $xml = $webService->get($opt); $resources = $xml->children()->children(); } catch (PrestaShopWebserviceException $ex) { echo 'Other error: <br />' . $ex->getMessage(); } // Associo le variabili ai valori della risposta xml del webservice echo $var1=$resources[0]; // campo id ordine echo "<br>"; echo $var2=$resources[1]; // campo id_address_delivery echo "<br>"; echo $var3=$resources[2]; // id_address_invoice echo "<br>"; // A seguire puoi aggiungere tutti i campi che ti interessano ?> Edited December 4, 2015 by Daniel_WM (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now