Variáveis e chaves

Para utilização da API e SDK abaixo você precisará ter em mãos algumas chaves ou códigos que estão disponíveis na conta da sua plataforma da PrivacyTools. Caso tenha dificuldade em localizá-las entre em contato com o suporte técnico.

VariávelSignificadoOnde encontrar
baseURL base do seu ambiente PrivacyToolsMenu 'Consentimentos/Api de integração'
publicKeyChave pública para utilização de alguns recursisMenu 'Consentimentos/Api de integração'
hashTemplateCódigo hash da finalidade específicaMenu 'Consentimentos/Finalidades', escolha o grupo e depois copie o hash da finalidade
hashUserHash do identificador do titular do dado pessoal (usuário)Você deve gerar esse hash. Recomendamos um MD5/SHA do ID do usuário + algum SALT.

Frontend

Dividimos a área de programação frontend em Javascript e React. Na área de javascript você possui acesso em um SDK para integração com as funções do consentimento e na área ReactJS você possui um componente 'npm' para utilização em seus projetos.

Javascript

Passo 1 - Adicione o script e folha de estilo abaixo na tag 'head' do seu portal.
<script type="text/javascript" src="https://cdn.privacytools.com.br/sdkconsent/dist/sdkconsent.min.js"></script>
<link rel="stylesheet" href="https://cdn.privacytools.com.br/sdkconsent/dist/sdkconsent.css" type="text/css"  />
Passo 2 - Na inicialização do seu código configure o SDK.
<script type="text/javascript">
var sdk = sdkConsent("$base","$publicKey");
</script>
Registrando um consentimento

Para registrar um consentimento você precisa gerar um identificador único do seu usuário conforme orientação da variável hashUser. Envie também o parâmetro 'consent' (booleano) com o aceite (true) ou rejeição(false) do usuário.

O retorno caso bem sucedido será um text/plain com o protocolo de registro. Como o registro é assíncrono e entra em uma fila de consumidor/processador pode levar entre 30 segundos a 70 segundos para o consentimento poder ser consultado.
Se o ocorrer um erro a mensagem será exibida em um application/json.

sdk.registerConsentForUser($hashTemplate,$hashUser,$consent,function(response){                    
    console.log('success = '+response);
},function(response){                    
    console.log('error = '+JSON.stringify(response));
});
Obtendo todos os consentimentos de um usuário
sdk.getConsentsUser($hashUser,function(response){
    if(response && response.length>0){                                                    
        for(var i=0;i<response.length;i++){
            console.log(response[i].hashTemplate+'='+response[i].consent);
        }                                                    
    }else{
        console.log('no data')
    }
},function(response){
    console.log('error = '+JSON.stringify(response));
});
Verificando um consentimento específico
sdk.verifyConsentUser($hashTemplate,$hashUser,function(response){
if(response && response.length>0){                                                    
    for(var i=0;i<response.length;i++){
        console.log(response[i].hashTemplate+'='+response[i].consent);
    }                                                    
}else{
    console.log('no data')
}
},function(response){
    console.log('error = '+JSON.stringify(response));
});    
Outras funções disponíveis
Função no SDKFinalidade
loadConsentCondition($hashTemplate)Essa função retorna a estrutura JSON para você criar uma popup/dialog para coletar um determinado consentimento do seu usuário. Ela busca todas as informações registradas na plataforma para o hashTemplate informado.
askForConsent($hashTemplate,$hashUser)Essa função é semelhante à anterior mas aqui a popup/dialog é gerada pela API e ela cuida de toda a coleta do consentimento.

React.JS

O componente React.js possui as mesmas funções da API Javascript mas existem opções diferentes para integração em seu sistema.

npm i sdk-consent-privacytools
Passo 1 - Importe a biblioteca 'sdk-consent-privacytools' no seu package.json ou npm
    "sdk-consent-privacytools": "^1.0.12"

A biblioteca possui uma coletânea de componentes que podem ser utilizados de diferentes maneiras em sua página.

ComponenteFinalidade
ApiRegisterConsentAPI de simples utilização para registro de consentimentos
ApiGetAllConsentsAPI de simples utilização para obter todos os consentimentos de um usuário
ApiGetSingleConsentAPI de simples utilização para verificar um consentimento específico de um usuário
RegisterUserConsentWrapperWrapper para registro de consentimentos com retorno com fragment
GetUserConsentWrapperWrapper para obter todos ou apenas um consentimento do usuário com fragment
ConsentWrapperWrapper para obter em um fragment o JSON para você construir sua própria popup de consentimento
ConsentPopUpWrapper que executa em react uma popup pronta para coleta do consentimento
Passo 2 - Importe o componente desejado em sua página
import { ConsentPopUp, ConsentWrapper,GetUserConsentWrapper,RegisterUserConsentWrapper,ApiRegisterConsent,ApiGetAllConsents,ApiGetSingleConsent } from 'sdk-consent-privacytools'
Registrando um consentimento

Para registrar um consentimento você precisa gerar um identificador único do seu usuário conforme orientação da variável hashUser. Envie também o parâmetro 'consent' (booleano) com o aceite (true) ou rejeição(false) do usuário.

Como o registro é assíncrono e entra em uma fila de consumidor/processador pode levar entre 30 segundos a 70 segundos para o consentimento poder ser consultado.

ApiRegisterConsent($base,$hashUser,$hashTemplate,$publicKey,consent).then(response => {
    console.log(JSON.stringify(response));
})
Obtendo todos os consentimentos de um usuário
ApiGetAllConsents($base,$hashUser,$publicKey).then(response => {
    alert(JSON.stringify(response));
})
Verificando um consentimento específico
 ApiGetSingleConsent($base,$hashUser,$hashTemplate,$publicKey).then(response => {
    alert(JSON.stringify(response));
})
Exibindo popup para coleta de consentimento
<ConsentPopUp
    base={$base}        
    hashTemplate={$hashTemplate}
    hashUser={$hashUser}
    closePopup={() => onclosemethod(false)}/>