Iubenda logo
Crie Agora

Documentação

Tabela de conteúdos

Consent Database para Gravity-Forms

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

Sim, você precisa comprovar o consentimento de acordo com o GDPR no seu site do Gravity-Forms e aqui vamos explicar o porquê: 

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:

  • quem deu o consentimento;
  • quando e como o consentimento foi obtido do usuário em particular;
  • o formulário de coleta de consentimento que lhes foi apresentado no momento da coleta; e
  • quaisquer que fossem as condições e documentos legais em vigor no momento em que o consentimento foi obtido.

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.

Como adicionar a Consent Database da iubenda no Gravity-Forms

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á:

  1. No arquivo functions.php file, criar uma função PHP (veja abaixo) nomeada save_consent() – essa função contém as instruções para criar consentimento na sua Consent Database
  2. Depois disso, você terá que adicionar uma ação do WordPress ao gform_after_submission action hook

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.

O que você deve personalizar:

  1. Subject data: os campos aceitos são apenas full_name, last_name, first_name, email

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.

  1. Em seguida, você também pode personalizar as preferências, elas geralmente coincidem com a caixa de seleção que o usuário aceita ao enviar o formulário: "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.

  1. Por fim, você pode personalizar o consentimento, passando também os comprovantes de consentimento, como fizemos neste exemplo.
"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.

  1. Personalize o 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.