Vai al contenuto

Configurazione connettore per API WooCommerce (WordPress)

Dove trovare questa funzione: Utilità -> impostazioni

Attenzione !!! In caso di integrazione con un e-commerce già attivo e funzionante consigliamo vivamente di effettuare un backup di files e database, poiché un piccolo errore di configurazione potrebbe causare malfunzionamenti e rendere inaccessibile il vostro sito.

Dalla sezione “E-commerce” cliccare su “Ecommerce esterni”

Prima di impostare il connettore specifico per WooCommerce è necessario creare una API REST specifica per Bman nel tuo sito WooCommerce. Per farlo accedi come amministratore sul sito ed dal menu WooCommerce è necessario entrare in “Impostazioni > Avanzate > API REST” e creare una nuova chiave:

Impostazioni API REST WooCommerce, crea una nuova chiave API e assegnale il premesso di lettura/scrittura.

Crea una nuova chiave API

Una volta generata la chiave, otterremo la Key (o “chiave utente” se utilizzate WooCommerce in italiano) ed il Secret (o “utente nascosto” se utilizzate WooCommerce in italiano) da inserire su Bman, non chiudete questa scheda fino a quando non avete impostato Key e Secret su Bman altrimenti sareste costretti a generare una nuova chiave

Inserisci Key e Secret in Bman

Adesso è necessario creare un connettore Bman, entrando in “Utilità – impostazioni ” nella sezione E-commerce cliccare su “E-commerce esterni”.

Connettore WordPress Bman

Url: Impostare la url del vostro sito seguita /wp-json/wc/v3/ quindi se per esempio il vostro shop si trova alla url https://www.mioshop.it nel campo url dovrete inserire https://www.mioshop.it/wp-json/wc/v3/

Key: Impostare la Key generata automaticamente nelle API di WooCommerce

Secret: Impostare il Secret generato automaticamente nelle API di WooCommerce

Torniamo su WooCommerce, possiamo chiudere le impostazioni della nostra API REST e dedicarci alle impostazioni dell’e-commerce.

Per poter far funzionare correttamente Bman è necessario “settare” alcune impostazioni del sito come di seguito:

  • Impostazioni > Generali > abilitare l’opzione “Abilita le aliquote e i calcoli delle imposte”
  • Impostazioni > Generali > Valuta – Euro
  • Impostazioni > Prodotti > Unità di peso / unità di misura > impostare identico a quello che avete impostato su Bman in Utilità > Impostazioni > Opzioni articolo > Suffisso unità di misura
  • Impostazioni > Imposta > Prezzi inseriti con imposte incluse:
    • Se il vostro ecommerce è diretto ai clienti finali (B2C) utilizzare l’opzione “si, voglio inserire i prezzi comprensivi di imposte” (ed impostare nelle impostazioni del connettore di Bman, sezione prezzi, “usa prezzi” > “prezzi IVA inclusa”)
    • Se il vostro ecommerce è diretto a clienti aziendali (B2B) utilizzare l’opzione “no, inserirò prezzi al netto di imposta” (ed impostare nelle impostazioni del connettore di Bman, sezione prezzi, “usa prezzi” > “prezzi IVA esclusa”)

Una volta terminata questa prima configurazione, sarà possibile procedere con la configurazione degli altri parametri vedi Impostazioni connettore woocommerce.

Risoluzione dei problemi

Se una sicronizzazione non va a buon fine, è possibile ispezionare il motivo di tale fallimento cliccando sul pulsante LOG a fianco dell’operazione in questione.

Ispezionando il LOG è possibile che si verifichi un errore come il seguente:

!!! ERRORE !!! sincronizzazione non riuscita {“code”:”woocommerce_rest_cannot_view”,”message”:”Non puoi creare una lista delle risorse.”,”data”:{“status”:401}

Questo vuol dire che il sistema non riesce ad accedere correttamente alle API di WooCommerce.

Per prima cosa occorre verificare la correttezza di entrambi i valori di Key e Secret inseriti nelle impostazioni del connettore di Bman. 

Se i valori sono correttamente inseriti, il modo più semplice per correggere questo errore (soprattutto se l’unico accesso a disposizione sull’hosting è attraverso il protocollo FTP) è quello di modificare il file .htaccess presente nella root del sito web nel seguente modo:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Con molta probabilità basterà solo aggiungere al file .htaccess la riga

RewriteRule ^index\.php$ – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 

Una volta salvato il file, riprovare con una nuova sincronizzazione e tutto dovrebbe funzionare correttamente.

Attenzione agli aggiornamenti: è probabile che aggiornando il plugin WooCoomerce questa modifica dovrà essere ripetuta