Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

Consent Solution per Gravity-Forms

Hai generato un sito web con Gravity-Forms 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 Gravity-Forms.

→ Vai a Come aggiungere la Consent Solution a Gravity-Forms

In poche parole, sì, hai bisogno della prova del consenso per il tuo sito Gravity-Forms 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 Gravity-Forms

La seguente guida su come integrare la nostra Consent Solution con Gravity-Forms è 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 Gravity-Forms 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 gli action hook di Gravity-Forms e la nostra API della Consent Solution.

Per creare un consenso su Gravity-Forms dovrai:

  1. Nel file functions.php, creare una funzione PHP (vedi sotto) chiamata save_consent(). Questa funzione contiene le istruzioni per creare un consenso all’interno della nostra Consent Solution;
  2. In seguito, dovrai aggiungere un’azione WordPress all’hook gform_after_submission.

In questo modo, save_consent() viene avviato ogni volta che si invia un modulo.

//Creating the function that sends consent to ConS 
function save_consent(){
$consent_data = array(
"timestamp" => date('Y-m-d H:i:s'),
"subject" => array(
"full_name"=>$_POST["input_1_3"], //input sent via form (Please note: real name in the Gravity Forms is input_1.3, but dots (and spaces) in a variabile should be changed in _ 
"email" => $_POST["input_2"], //
),
"legal_notices" => array(
array(
"identifier" => "term"
),
array(
"identifier" => "privacy_policy"
)
),
"preferences" => array(
"privacy_policy_gform" => 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);
}
//il numero 8 è l'ID del modulo dove vogliamo aggiungere la funzione save consent
add_action( 'gform_after_submission_8', 'save_consent', 10, 2 )

Nota bene:

Se hai più moduli e vuoi aggiungere la stessa funzione save_consent a tutti moduli, puoi cambiare l’add_action in questo modo:

add_action( 'gform_after_submission', 'save_consent', 10, 2 )

Questa funzione legge i dati del consenso provenienti da Gravity-Forms attraverso una richiesta POST.

Contiene un array, che è l’esempio PHP che puoi trovare nella nostra documentazione API HTTP per la Consent Solution.

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 PHP ufficiale.

Per esempio, ipotizziamo che tu abbia creato un modulo con Gravity-Forms con il seguente HTML:




name="fname" value="John">



name="lname" value="Doe">



Dovrai personalizzare questa parte del nostro esempio:

in questo modo:

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

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.

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_gform" => 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.

Infine, 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.

Personalizza add_action( 'gform_after_submission_8', 'save_consent', 10, 2 ) con l’ID del modulo. Puoi trovarlo nelle impostazioni di Gravity-Forms. Se l’ID del modulo è 6754 allora 'gform_after_submission_8'sarà 'gform_after_submission_6754'

Fatto! Ricorda che questo è un esempio ed è utile come punto di partenza. Ti suggeriamo di rivolgerti al tuo team tecnico per personalizzare quanto spiegato sopra in base al tuo scenario specifico.