Come creare l’API del servizio Web del modulo Prestashop?

Come creare l'API del servizio Web del modulo Prestashop con Knowband

Questo blog spiega come creare e utilizzare l’API dei servizi Web Prestashop. Prestashop dispone di uno strumento di servizi Web predefinito che consente di accedere al negozio da applicazioni remote.

Prerequisiti

  1. Il tuo negozio Prestashop dovrebbe avere la “riscrittura del modulo” abilitata per Apache.
  2. È preferibile utilizzare SSL (https:) per le chiamate ai servizi Web, poiché evita i problemi di sicurezza di tipo “uomo nel mezzo”.
  3. Verificare che i cinque metodi GET, POST, PUT, DELETE e HEAD siano supportati sul server.

Per garantire la sicurezza e l’efficienza dei tuoi servizi Web Prestashop, è essenziale utilizzare SSL (HTTPS) per tutte le chiamate ai servizi Web. Ciò impedisce attacchi “man in the middle”, salvaguardando i tuoi dati durante la trasmissione. Inoltre, verificare che il tuo server supporti i metodi HTTP GET, POST, PUT, DELETE e HEAD è fondamentale per un funzionamento senza interruzioni. Configurando queste impostazioni, ottimizzi le prestazioni e la sicurezza del tuo negozio, garantendo un accesso e una gestione affidabili delle tue risorse Prestashop tramite l’API.

Come configurare i servizi Web nel Prestashop?

Guida passo passo di Knowband su come configurare i servizi Web in Prestashop

1. Accedi al Back-Office Prestashop. 2. Andare su Parametri avanzati -> Opzioni del menu Servizi Web per aprire la pagina Servizi Web.

Apri la pagina Servizi Web sotto i parametri avanzati

 

3. Verrà reindirizzato alla pagina Servizi Web con l’elenco dei servizi Web disponibili e il modulo di configurazione per configurare il servizio. 4. Il modulo Configurazione presenta i seguenti campi:

impostazione di configurazione nel back office Prestashop

a) Abilita il servizio web di Prestashop: abilita l’impostazione per utilizzare il servizio web nel Prestashop Store.

b) Abilita la modalità CGI per PHP: Abilita l’impostazione per utilizzare PHP come script CGI invece del modulo Apache. 5. Fare clic sul pulsante Salva per salvare la configurazione. Ora puoi utilizzare i servizi Web nel tuo negozio Prestashop.

Come aggiungere/aggiornare i servizi Web nel Prestashop?

Knowband come aggiungere e aggiornare i servizi Web in Prestashop

1. Accedi al back-office Prestashop 2. Passa a Parametri avanzati -> Opzioni del menu Servizi Web per aprire la pagina Servizi Web. 3. Reindirizzerà alla pagina Servizi Web con un elenco dei servizi Web disponibili.

Pagina Servizi Web nel back office Prestashop

4. Fare clic sul pulsante “Aggiungi nuova chiave di servizio Web” per aggiungere una nuova chiave di servizio Web per accedere solo a determinate risorse del negozio Prestashop.

Aggiungi la chiave del servizio web negli account del servizio web

una chiave: Questa è una chiave univoca. Puoi inserirlo manualmente o fare clic sul pulsante Genera per generare una chiave casuale per il servizio web Prestashop.

b) Descrizione chiave: È possibile fornire la descrizione relativa alla chiave per una migliore comprensione.

c) Stato: consente alla chiave di fornire una concessione per accedere ai dati utilizzando la chiave.

d) Autorizzazione: Fornire l’autorizzazione per accedere ai dati utilizzando una determinata chiave. Puoi controllare l’autorizzazione specifica per concedere l’accesso ai dati come Aggiungi, Modifica, Elimina o Visualizza. Qui abbiamo controllato l’autorizzazione per Paesi e valuta. 5. Fare clic sul pulsante Salva per aggiungere la chiave ai servizi web.

Come accedere al Servizio Web?

Dopo aver creato la chiave per il servizio Web e averla configurata correttamente, è necessario premere il seguente URL nel browser: https://{store root path}/api/ Ti verranno richiesti nome utente e password per accedere alla risorsa.

registrati per accedere alla risorsa

a) Nome utente: Immettere la chiave del servizio Web generata nel passaggio precedente. Ad esempio MWMHJVB9PBYBNYBSFTQ8ZXRCM43FQ2MW

b) Parola d’ordine: Dovrebbe essere vuoto poiché non è richiesta alcuna password. Dopo aver effettuato l’accesso, accederai all’elenco delle risorse e a tutte le opzioni CRUD consentite che hai configurato nel tuo negozio Prestashop.

file xml

Ora sei connesso con successo al servizio web Prestashop.

a) Per OTTENERE l’elenco delle entità per una particolare risorsa:

https://shop_root_url/api/resouce

Esempio: https://www.knowband.com/api/customers per ottenere un elenco di tutti i clienti.

b) Per OTTENERE un cliente specifico tramite ID:

https://shop_root_url/api/customers/1

Ad esempio: per ottenere i dettagli del cliente con ID 10

https://www.knowband.com/api/customers/10

Consiglia orologio:

Come creare l’API del servizio Web del modulo Prestashop per Prestashop 1.7?

Ti mostreremo come creare un modulo per recuperare i clienti. Per questo, registreremo un hook addWebserviceResources di ServiceRequest per le risorse invece di sovrascrivere la funzione getResources() della classe ServiceRequest in Prestashop 1.7. La creazione di API di servizi Web personalizzate in Prestashop 1.7 implica l’utilizzo della classe WebserviceSpecificManagement. Ciò consente di definire funzionalità specifiche e gestire il trattamento dei dati. Ad esempio, l’implementazione della classe WebserviceSpecificManagementKbCustomer consente di gestire i dati dei clienti in modo efficiente. Pertanto, questo approccio fornisce una soluzione flessibile e solida per estendere le capacità di Prestashop, consentendo interazioni personalizzate con i dati del tuo negozio. Sfruttando queste opzioni di personalizzazione avanzate, puoi creare soluzioni di eCommerce più dinamiche e reattive che soddisfano esigenze aziendali uniche. 1. Registrare l’hook addWebserviceResources nel modulo.

public function install() { parent::install(); $this->registerHook('addWebserviceResources'); restituisce vero; }

2. Aggiungi un listener hook per definire la classe e la descrizione. Imposta specific_management su true se desideri utilizzare WebserviceSpecificManagement invece del file ObjectModel.

public function hookAddWebserviceResources() { return array( 'kbcustomer' => array( 'descrizione' => 'Cliente personalizzato Knowband', 'specific_management' => true, ), 'kbaddress' => array( 'descrizione' => 'Knowband Indirizzo personalizzato', 'class' => 'kbaddress' ) ); }

3. Creare il file di classe WebserviceSpecificManagement come WebserviceSpecificManagementCLASSNAME che implementa WebserviceSpecificManagementInterface Ad esempio – WebserviceSpecificManagementKbCustomer che è simile a /classes/webservice/WebserviceSpecificManagementImages.php. È necessario includere le funzioni definite nella classe WebserviceSpecificManagementImages.php. Questi sono:

  • setObjectOutput
  • setWsObject
  • getWsObject
  • getObjectOutput
  • setUrlSegment
  • getUrlSegment
  • getContent
  • gestire (dove vengono trattati i dati)

1. Ora aggiungi la chiave con la risorsa kbcustomer nel servizio web nel back-office. 2. Ora visita il https://{youstore.com}/api/kbcustomer per vedere la risposta in XML. Nell’esempio seguente, visualizziamo l’elenco di tutti i clienti disponibili nel negozio. Aggiungi include_once(_PS_MODULE_DIR_.’YOURMODULENAME/classes/WebserviceSpecificManagementKbCustomer.php’); nel file del modulo.

class WebserviceSpecificManagementKbcustomer implementa WebserviceSpecificManagementInterface { /** @var WebserviceOutputBuilder */ protected $objOutput; $uscita protetta; /** @var WebserviceRequest */ protected $wsObject; public function setUrlSegment($segmenti) { $this->urlSegment = $segmenti; restituisce $questo; } public function getUrlSegment() { return $this->urlSegment; } funzione pubblica getWsObject() { return $this->wsObject; } funzione pubblica getObjectOutput() { return $this->objOutput; } /** * Deve restituire una stringa con valori specifici come previsto da WebserviceRequest. * * @return string */ public function getContent() { return $this->objOutput->getObjectRender()->overrideContent($this->output); } funzione pubblica setWsObject(WebserviceRequestCore $obj) { $this->wsObject = $obj; restituisce $questo; } /** * @param WebserviceOutputBuilderCore $obj * @return WebserviceSpecificManagementInterface */ public function setObjectOutput(WebserviceOutputBuilderCore $obj) { $this->objOutput = $obj; restituisce $questo; } funzione pubblica gestisci() { $oggetti_prodotti = array(); $oggetti_prodotti['empty'] = nuovo Cliente(); $lista_clienti = Cliente::getCustomers(); foreach ($customer_list come $list) { $objects_products[] = nuovo cliente($list['id_customer']); } $this->_resourceConfiguration = $objects_products['empty']->getWebserviceParameters(); $this->output .= $this->objOutput->getContent($objects_products, null, $this->wsObject->fieldsToDisplay, $this->wsObject->profondità, WebserviceOutputBuilder::VIEW_LIST, false); } }

Lo screenshot seguente fornisce la visualizzazione dell’output:

output del file XML

Se desideri l’output in formato JSON, aggiungi &output_format=JSON alla fine dell’URL. Per esempio: https://{yourstore.com}/api/kbcustomer&output_format=JSON

Produzione: {“customers”:[{“id”:1},{“id”:2},{“id”:3},{“id”:4},{“id”:5},{“id”:6},{“id”:7},{“id”:8},{“id”:9},{“id”:10},{“id”:11},{“id”:12},{“id”:13},{“id”:14},{“id”:15},{“id”:16},{“id”:17},{“id”:18},{“id”:19},{“id”:20},{“id”:21}]}

Alla fine!

Con oltre 13 anni di esperienza tecnica, Knowband offre servizi completi di sviluppo di app e web utilizzando le tecnologie più recenti, inclusi vari framework PHP e React. Forniamo più di 100 estensioni pronte all’uso per piattaforme di eCommerce popolari come Prestashop, Opencart, WooCommerce e Magento 2. Per qualsiasi domanda, non esitate a contattarci all’indirizzo support@knowband.com. Knowband è anche un partner Premium Prestashop e un venditore Superher che fornisce più di 100 moduli Prestashop per soddisfare tutte le tue esigenze di e-commerce. Controlla i nostri più popolari Modulo Supercheckout di una pagina per Prestashop

 

Knowband - Prestashop One Page Supercheckout Addon

Componente aggiuntivo Supercheckout di una pagina Prestashop

Il componente aggiuntivo Prestashop One Page Supercheckout di Knowband rende il checkout più rapido e semplice mettendo tutto su un’unica pagina, contribuendo a ridurre l’abbandono del carrello.

Acquistare ora

Joe Parker

We boast of the best in the industry plugins for eCommerce systems and has years of experience working with eCommerce websites. We provide best plugins for platforms like - Magento, Prestashop, OpenCart and Shopify . We also provide custom module development and customization services for the website and modules..

Leave a Reply

Your email address will not be published. Required fields are marked *