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 il Consent Database di iubenda al tuo sito Gravity-Forms.
→ Vai a Come aggiungere il Consent Database a Gravity-Forms
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 il Consent Database 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:
Puoi leggere di più riguardo i requisiti qui.
Il Consent Database 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 il Consent Database di iubenda qui.
La seguente guida su come integrare il nostro Consent Database 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 del Consent Database.
Per creare un consenso su Gravity-Forms dovrai:
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 il Consent Database.
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:
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 del tuo Consent Database alle seguenti funzioni, come mostrato qui sotto:
Nota bene: il Consent Database 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.