gdpr

Come creare un Ecommerce B2B

 

Per creare un Ecommerce B2B con WordPress vi consigliamo di utilizzare il plugin Woo Commerce B2B. Il plugin è fatto davvero molto bene. Il suo programmatore, oltre ad essere italiano quindi con tutti i vantaggi del caso, è davvero molto preparato, forse uno dei migliori sviluppatori di plugin wordpress che abbiamo avuto modo mai di conoscere a livello lavorativo.

Un Ecommerce B2B, come dice il nome stesso, è un Ecommerce riservato ai solo clienti con PIVA. Spesso si vorrebbe limitare la visibilità del catalogo ai soli clienti registrati, oppure visualizzare i prodotti con i prezzi nascosti agli utenti non loggati. Questo plugin ovviamente ha praticamente tutte le funzionalità necessarie per impostare il nostro negozio esattamente come lo desideriamo. 

La schermata di Setup molto intuitiva, si trova nelle impostazioni sotto al menu Woocommerce -> Impostazione -> B2B, ed è divisa in quattro sezioni. Una sezione impostazioni e una sezione prodotti nelle quali abbiamo la possibilità di:

  • Limitare la visibilità del catalogo – Se vogliamo ad esempio rendere l’accesso esclusivo
  • Nascondere i prezzi ai clienti non loggati – Nel caso si voglia ad esempio far comunque visualizzare il catalogo a tutti gli utenti del sito web
  • Decidere se voler visualizzare una o più categorie prodotto a determinati gruppi – utile, ad esempio, quando volete riservare la vendita di alcuni prodotti, magari esclusivi e riservati ad un certo tipo di clientela

WooCommerce_B2B - Impostazione prodotti

Poi abbiamo a disposizione varie opzioni per quanto riguarda la cassa e il carrello. In quest’area sono presenti le due voci che ci permettono di trasformare il nostro Ecommerce in un negozio B2B. Per ottenere questo dobbiamo attivare l’opzione di richiesta della PIVA (in modo da escludere dalla registrazione eventuali privati) e renderla obbligatoria.

Volendo però si può addirittura impostare il plugin in modo da vendere anche ai B2C. Come? Spostiamoci nel menu utenti e creiamo un gruppo “PRIVATI”. In questo caso NON dobbiamo rendere la PIVA un campo obbligatorio e dobbiamo ricordarci di spuntare la casella per visualizzare una o più categorie prodotto a determinati gruppi. Creaiamo poi delle categorie apposite e abbininiamole al gruppo “PRIVATI”. A questo gruppo possiamo dare la possibilità, ad esempio, di acquistare tramite carte di credito, mentre agli altri gruppi di effettuare delle richieste di preventivo. E sì, questo plugin ha anche questa possibilità di gestire le offerte!!! 

 

WooCommerce_B2B - Impostazioni Carrello e caasa

Vi ricordo anche di abilitare l’opzione presente nell’ultima sezione per permettere ai clienti di effettuare il login solo dopo l’approvazione da parte dell’admin”, in modo da poter abbinare il gruppo corretto in base al tipo di utente che si è registrato.

Woo Commerce B2B - Impostazione Clienti

Yoast plugin & Woo Commerce B2B

Se utilizzate per caso anche il plugin SEO di Yoast, esiste un conflitto per cui attivando l’opzione di “visualizzare una o più categorie prodotto a determinati gruppi”, Yoast scrive l’attribito “NOIndex” sulle pagine delle categorie. Questo sembra essere causato dalla tax_query quando è aggiornata usando pre_get_posts (leggi qua per maggiori informazioni). Eccovi il workaround esatto da utilizzare per aggirare il problema:

 

add_filter(‘wpseo_robots’, ‘yoast_cat_noindex’, 999);
function yoast_cat_noindex($string= “”) {
if (is_product_category()) {
$string= “index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1”;
}
return $string;
}

 

per altre informazioni sulle varie caratteristiche vi rimandiamo alla pagina del plugin. Di seguito invece andiamo a vedere come rendere compliance questo plugin con le soluzioni GDPR di Iubenda.

 

Come rendere “Woo Commerce B2B” GDPR compliance utilizzando le soluzioni Iubenda

 

Il form di registrazione woocommerce di default non presenta i flag per l’accettazione della Privacy Policy e di termini e condizioni e neppure un eventuale flag per la richiesta di invio di Newsletter.

Tramite la funzione add_action andiamo ad implementare il form di registrazione. Se utilizzate ad esempio WPML, ed impostare una etichetta ben definita come ad esempio ‘privacy_management’, creando un plugin ad hoc potrete poi tradurle nelle varie lingue.

add_action( ‘woocommerce_register_form’, ‘mywoocommerce_register_form’, 11 );

function mywoocommerce_register_form() {
woocommerce_form_field( ‘receive_newsletter’, array(
‘type’ => ‘checkbox’,
‘class’ => array(‘form-row-wide’),
‘label’ => __( ‘Do you want to subscribe to our newsletter?’, ‘privacy_management’ ),
‘clear’ => true,
), get_user_meta(get_current_user_id(), ‘receive_newsletter’, true));
woocommerce_form_field( ‘privacy_policy_reg’, array(
‘type’ => ‘checkbox’,
‘class’ => array(‘form-row privacy’),
‘label_class’ => array(‘woocommerce-form__label woocommerce-form__label-for-checkbox checkbox’),
‘input_class’ => array(‘woocommerce-form__input woocommerce-form__input-checkbox input-checkbox’),
‘required’ => true,
‘label’ => __( ‘I\’ve read and accept the <a href=”/privacy”>Privacy Policy</a>’, ‘privacy_management’ )
));
woocommerce_form_field( ‘terms_reg’, array(
‘type’ => ‘checkbox’,
‘class’ => array(‘form-row privacy’),
‘label_class’ => array(‘woocommerce-form__label woocommerce-form__label-for-checkbox checkbox’),
‘input_class’ => array(‘woocommerce-form__input woocommerce-form__input-checkbox input-checkbox’),
‘required’ => true,
‘label’ => __( ‘I\’ve read and accept the <a href=”/terms-conditions”>Terms and conditions</a>’, ‘privacy_management’ )
));
}

Come al solito anche in questo caso dobbiamo preoccuparci di raccogliere il consenso dell’utente. Non essendo questo form basato su Contact Form 7, non potremo far leva sul plugin wordpress di Iubenda per mappare i campi e andarli a registrare nella Consent Solution di Iubenda.

Cosa possiamo fare in questo caso? Facendo leva sul hook woocommerce_created_customer possiamo andare ad intercettare quando l’utente è stato creato ed eseguire il trigger di salvataggio tramite le API iubenda

 

add_action( ‘woocommerce_created_customer’, ‘mywoocommerce_created_customer’, 10, 3 );

{

‘ preparo $consent_data secondo le mie esigenze. Vedi a questo proposito la guida di Iubenda per le API

$req = curl_init(); $req = curl_init();

curl_setopt($req, CURLOPT_URL, ‘https://consent.iubenda.com/consent’);

curl_setopt($req, CURLOPT_RETURNTRANSFER, true);

curl_setopt($req, CURLOPT_HTTPHEADER, array( ‘ApiKey: myapikey’, ‘Content-Type: application/json’ ));

curl_setopt($req, CURLOPT_POST, true);

curl_setopt($req, CURLOPT_POSTFIELDS,

json_encode($consent_data)); $response = curl_exec($req);

}

 

dovremo preoccuparci anche poi di catturare una eventuale modifica del consenso dalla schermata dettagli facendo leva sull’hook woocommerce_save_account_details, nel caso ad esempio l’utente modifichi il flag per le newsletter.

 

Ora siamo in grado di registrare il consenso come vuole la norma GDPR, nella consent Solution di Iubenda!