Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

Consent Solution per Elementor

Hai generato un sito web con Elementor e ora hai bisogno di soddisfare il requisito del consenso del GDPR?

Sei nel posto giusto! In questa guida, spiegheremo il requisito della prova del consenso del GDPR e come aggiungere la Consent Solution di iubenda al tuo sito Elementor.

Vai a Come aggiungere la Consent Solution a Elementor

In poche parole, sì, hai bisogno della prova del consenso per il tuo sito Elementor ed ecco perché: 

I registri dei consensi sono specificamente richiesti dal GDPR. Mantenere un registro dei consensi completo e dettagliato, oltre a essere un requisito legale, è anche una parte essenziale della conformità alle leggi sulla privacy. I registri dei consensi sono gestiti da te, il titolare del trattamento. Di conseguenza, il GDPR richiede che tu mantenga delle “prove” o registri dei consensi con dei dettagli precisi, che possano dimostrare che il consenso raccolto sia autentico e quindi valido per il GDPR. Il consenso deve essere esplicito, libero e verificabile. Puoi leggere di più riguardo la Consent Solution di iubenda  qui.

Questi registri devono includere un modo per identificare l’utente, la prova del consenso, la registrazione dell’azione di consenso e i documenti legali messi a disposizione dell’utente al momento del consenso, tra le altre cose.

Devi registrare le seguenti informazioni:

  • chi ha fornito il consenso;
  • quando e come è stato acquisito il consenso del singolo utente;
  • il modulo di raccolta del consenso presentato all’utente in fase di raccolta;
  • un riferimento ai documenti legali e alle condizioni in vigore nel momento in cui il consenso è stato acquisito.

Puoi leggere di più riguardo i requisiti qui.

La Consent Solution di iubenda memorizza e gestisce la prova del consenso e le preferenze privacy dei tuoi utenti così come richiesto dal GDPR e dalla LGPD. Puoi leggere di più riguardo la Consent Solution di iubenda qui.

Come aggiungere la Consent Solution di iubenda a Elementor

Moduli nativi di Elementor PRO + la Consent Solution di iubenda

La seguente guida su come integrare la nostra Consent Solution con Elementor PRO è pensata specificamente per gli sviluppatori. Sappiamo che si tratta di una guida complessa, quindi utilizza questo esempio come un punto di partenza e rivolgiti al tuo team tecnico per personalizzarla in base al tuo scenario specifico.

Dal momento che Elementor PRO non è compatibile con il nostro plugin per WordPress e potrebbero anche esserci dei conflitti con il nostro metodo JavaScript, abbiamo deciso di creare un esempio d’integrazione utilizzando l’API di Elementor PRO e la nostra API della Consent Solution.

Per creare un consenso su Elementor PRO è necessario incollare il file functions.php nella directory dei temi di WordPress, una funzione PHP chiamata save_consent() e aggiungere un’azione all’evento gform_after_submission.

Personalizza la tua chiave API privata e i dati del campo “subject” inviati a una richiesta POST e/o il nome del parametro

//SAVE CONSENT ON CONSENT SOLUTION AFTER FORM SUBMISSION
add_action( 'elementor_pro/forms/form_submitted', 'send_consent');
function send_consent() {

$consent_data = array(
"timestamp" => date('Y-m-d H:i:s'),

"subject" => array(

"full_name"=>
$_POST["form_fields"]["name"],
"email" =>
$_POST["form_fields"]["email"],

),
"legal_notices" => array(
array(
"identifier" => "terms"
),
array(
"identifier" => "privacy_policy"
)
),

"preferences" => array(

"
privacy_policy_elementor" => true
),

);

$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:
YOUR_PRIVATE_API_KEY',
'Content-Type: application/json'
));
curl_setopt($req, CURLOPT_POST, true);
curl_setopt($req, CURLOPT_POSTFIELDS, json_encode($consent_data));
$response = curl_exec($req);
//echo $response;

}

Questa funzione leggi i dati del consenso provenienti da Elementor PRO attraverso una richiesta POST.

Contiene un array, che è l’esempio PHP che puoi trovare qui.

Cosa devi personalizzare:

  1. I dati dell’utente: i campi accettati sono solo full_name, last_name, first_name, email

Nella nostra funzione PHP, troverai una o più di queste parole chiave, seguita dalla variabile superglobale $_POST, che ne contiene il valore, così che tu possa creare il consenso con i parametri che l’utente ha inserito nel modulo.


Puoi trovare più informazioni riguardo la variabile superglobale $_POST nella documentazione ufficiale di PHP.

Per esempio, ipotizziamo che tu abbia creato un modulo con Elementor PRO con il seguente HTML:




name="fname" value="John">



name="email" value="Doe">



Dovrai personalizzare questa parte del nostro esempio:

in questo modo:

"subject" => array(
"first_name"=>$_POST["fname"],
"email" =>$_POST["email"];
),

2. Ora aggiungi la chiave API privata della tua Consent Solution alle seguenti funzioni, come mostrato qui sotto:

Nota bene: la Consent Solution ha due chiavi diverse, una pubblica e una privata. Utilizza sempre quella privata, perché quella pubblica non funzionerà con la nostra API.

3. In seguito, puoi anche personalizzare le preferenze, che di solito coincidono con la checkbox che l’utente accetta quando invia il modulo:

"preferences" => array("privacy_policy_elementor" => true)

Puoi anche decidere di trasmettere questo valore utilizzano la variabile $_POST, come abbiamo fatto con il campo “subject”, se vuoi che venga letto dinamicamente.

4. Adesso, puoi personalizzare il consenso, trasferendo anche le prove del consenso, come abbiamo fatto in questo esempio.

"proofs": [
{
"content": "proof_1",
"form": "proof_1 form"}]

dove “content” può essere un riepilogo delle variabili inserite nel modulo dall’utente e “form” il codice HTML del modulo compilato dall’utente.

5. Infine, ricorda di aggiungere add_action( 'elementor_pro/forms/form_submitted', 'send_consent'); in modo da avviare la funzione send_consent quando si invia un modulo con Elementor PRO

Fatto! Utilizza questo esempio come un punto di partenza e rivolgiti al tuo team tecnico per personalizzarla in base al tuo scenario specifico.