Jump to content

Integrazione


zipy03

Recommended Posts

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

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.

  • Like 1
Link to comment
Share on other sites

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

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

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

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 by Daniel_WM (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...