Você gerou um site usando o Gravity-Forms e precisa atender aos requisitos de consentimento do GDPR?
Então, você está no lugar certo! Neste guia, veremos os requisitos de prova de consentimento do GDPR e como adicionar a Consent Database da iubenda ao seu site Gravity-Forms.
→ Ir para Como adicionar a Consent Database da iubenda no Gravity-Forms
Os registros de consentimento são especificamente exigidos pelo GDPR. É necessário manter um registro completo e detalhado de consentimento além de ser uma parte essencial da conformidade com as leis de privacidade. Os registros de comprovação são gerenciados por você, o Controlador de Dados. Como resultado, o GDPR exige que você mantenha “provas” ou registros de consentimento que contenham detalhes específicos que possam provar que o consentimento recebido é genuíno e, portanto, válido sob o GDPR. O consentimento deve ser explícito, fornecido gratuitamente e verificável de acordo com o GDPR. Saiba mais sobre a Consent Database da iubenda aqui.
Esses registros devem incluir uma forma de identificação do usuário, comprovante de consentimento, registro da ação consentida e os documentos legais disponíveis ao usuário no momento do consentimento, entre outros.
As seguintes informações devem ser registradas:
Você pode ler sobre todos os requisitos aqui.
A Consent Database da iubenda registra e gerencia automaticamente o consentimento GDPR e LGPD e as preferências de privacidade para cada um dos seus usuários. Você pode ler mais sobre a Consent Database da iubenda aqui.
O guia a seguir sobre como integrar a nossa Consent Database com os formulários do Gravity foi projetado especificamente para o uso dos desenvolvedores. Entendemos que este é um guia complexo, use este exemplo como ponto de partida e converse com a sua equipe técnica para personalizá-lo de acordo com o seu cenário específico.
Como o Gravity Form não é compatível com o nosso plugin WordPress e podem surgir conflitos ao usar o nosso método Javascript, decidimos criar um exemplo de integração usando Gravity-Form action hooks e a nossa API Consent Database.
Para criar um consentimento nos formulários do Gravity você precisará:
Ao fazer isso, o save_consent() é iniciado sempre que um formulário é enviado.
//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 form 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);
}
//the number 8 is the ID of the form where we want to append the save consent function
add_action( 'gform_after_submission_8', 'save_consent', 10, 2 )
Importante:
Se você tiver mais formulários e quiser anexar a mesma função save_consent
para todos os formulários, poderá alterar o add_action
desta maneira:
add_action( 'gform_after_submission', 'save_consent', 10, 2 )
Esta função lê os dados de consentimento vindos do Gravity Form através de uma solicitação POST.
Ele contém um array, que é o exemplo PHP que você pode encontrar aqui na nossa documentação da API HTTP da Consent Database.
Em nossa função PHP, você encontrará uma ou mais dessas palavras-chave seguidas da variável super global $_POST que contém o valor disso, para que você possa criar o consentimento com os valores que o usuário preencheu no formulário.
Você pode encontrar mais informações sobre a variável superglobal $_POST na documentação oficial do PHP.
Por exemplo, suponha que você criou um formulário usando formulários Gravity que tem o seguinte HTML:
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe"><br><br>
<input type="submit" value="Submit">
</form>
Você personalizará esta parte do nosso exemplo:
desta maneira:
"subject" => array(
"first_name"=>$_POST["fname"],
"last_name" =>$_POST["lname"];
),
2. Agora, adicione a sua própria Chave de API privada da Consent Database na função a seguir, conforme mostrado abaixo:
Observe que a Consent Database possui 2 chaves diferentes, pública e privada, use sempre a privada, pois a pública não funcionará com a nossa API.
"preferences" => array(
"privacy_policy_gform" => true
)
Mas você também pode decidir passar este valor usando a variável $_POST como fizemos dentro do “assunto” se você quiser lê-lo dinamicamente.
"proofs"
:
[
{
"content"
:
"proof_1"
,
"form"
:
"proof_1 form"
}]
onde “content” pode ser uma recapitulação dos valores inseridos pelo usuário no formulário e “form” é o código HTML do formulário preenchido pelo usuário.
add_action( 'gform_after_submission_8', 'save_consent', 10, 2 )
com o ID do formulário, você pode encontrá-lo nas configurações do formulário Gravity. Se o ID do formulário for 6754, então será'gform_after_submission_8'
'gform_after_submission_6754'
Pronto! Lembre-se que este é um exemplo e é um bom ponto de partida. Recomendamos conversar com a sua equipe técnica para personalizar o acima de acordo com o seu cenário específico.