Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Caso você não queira usar nosso SDK JavaScript ou React, utilize os endpoints abaixo.

Expand
titleObter todos os consentimentos de um usuário

Method: GET
$base/public_api/consent/getConsentsUser/$userHash

Header-name: publicAuthorization
Header-value: $publicKey
(o header-value deve ser a concatenação da palavra ‘publicAuthorization#’ e a sua $publicKey)

No sistema entre em “Conformidade>>Consentimentos>>API de Integração item publicKey

Expand
titleVerificar se o usuário tem um consentimento específico

Method: GET
$base/public_api/consent/getConsentsUser/$userHash/$hashTemplate

Header-name: publicAuthorization
Header-value:$publicKey
(o header-value deve ser a concatenação da palavra ‘publicAuthorization#’ e a sua $publicKey)

No sistema entre em “Conformidade>>Consentimentos>>API de Integração item publicKey

Expand
titleRegistrar um consentimento para o usuário

Method: GET
$base/public_api/consent/$hashTemplate/$hashUser/$consent

$consent = true ou false

No sistema entre em “Conformidade>>Consentimentos>>Finalidades>>Clicar em + Finalidades

Expand
titleRegistrar múltiplos consentimentos para um usuário

Method: POST
Content-type: application/x-www-form-urlencoded
$base/public_api/consent/multiple/$hashUser

Params:

  • $hashTemplate = Array de parâmetros com o nome “encryptedTemplate” (ex: “?encryptedTemplate=X&encryptedTemplate=Y”)

  • $consent = Array de parâmetros com o nome “value” (ex: “?value=true&value=false”)

$consent = true ou false

A API múltipla possui ainda a possibilidade de receber um argumento chamado “data” com um JSON de dados pessoais.

Enviando Dados Pessoais Junto com o Consentimento
Status
colourYellow
titleBETA

Para enviar um conjunto de dados pessoais junto com o consentimento, você precisa criar um JSON no formato abaixo.

Code Block
[
  { "name":"Nome do dado", "value":"Valor do dado"},
  ...
]

//Exemplo: Enviando nome, cpf e cidade 
[
  { "name":"name", "value":"Francisco da silva"},
  { "name":"document", "value":"00000000"},
  { "name":"city", "value":"São Paulo"}
]

Uma vez criado o seu objeto JSON, envie como um parâmetro chamado “data” no POST do serviço.

Expand
titleBusca informações de uma finalidade para exibir uma popup pedindo o consentimento

Você utilizará esse método quando quiser desenvolver a sua própria popup pedindo consentimento.

Method: GET
$base/public_api/consent/request/$hashTemplate

Retorno:

Code Block
languagejson
{
   "hash":"$hashTemplate",
   "title":"Título da finalidade", 
   "reason":"Motivo do consentimento",
   "fields":[
      "dado pessoal 1",
      "dado pessoal n"
   ],
   "urlAccept":"URL de redirect após o usuário aceitar a condição",
   "urlReject":"URL de redirect após o usuário rejeitar a condição",
   "required":"N"

   /* O "required" funciona assim: Se vier 'N' é porque o consentimento é livre 
e por padrão é "não". Se vier 'S' então o consentimento é livre mas o padrão é "Sim".
Já se vier 'R' então não deve ser possível modificar o consentimento, ele não é livre 
sendo apenas informativo.
   */
}

API de Backend

Faça a integração de seus sistemas com a API utilizando a chave privada(secret) e pública disponíveis em sua área interna. Cuide os limites de utilização de cada plano.

Warning

Não utilize essa API no seu frontend (javascript, angular, react etc..) pois a chave privada estaria exposta. Essa API é exclusiva para utilização no backend pelo seu servidor de aplicações.

Note

A URL do Swagger abaixo não deve ser utilizado em ambiente de produção pois ele está conectado apenas com uma base de testes que você tem acesso.

Note

Caso encontre problemas no firewall, incluir nas chamadas o header “User-Agent” com a sugestão “Mozilla/5.0 (X11Linux x86_64AppleWebKit/537.36”

...

As API’s permite formatos de comunicação para realizar integrações entre sistemas. Elas podem ser ser utilizadas para, por exemplo:

  • Realizar atualizações de consentimentos de formas síncronas entre dois sites/sistemas.

  • Extrair a base de dados de consentimentos.

Essa documentação tem como objetivo dar um contexto maior sobre as API’s de consentimento da Privacy Tools, com maiores especificações técnicas e considerações de uso, é suposto que a construção de código e demais entendimentos de ferramentas e protocolos de ampla utilização já seja de conhecimento do time que estará envolvido com qualquer trabalho relacionado as APi’s.

...

Table of Contents
stylenone

...

Método de autenticação:

Para consumo das APi’s de consentimento é necessario primeiramente a criação de um Usuario de API na plataforma, onde será disponibilizado um conjunto de credenciais para consumo do endpoint para criação do token de autorização.

Para os demais endpoint disponibilizados em nosso swagger sendo utilizado o protocolo de autorização OAuth2, utilizando o access_token junto ao token_type fornecido no response do endpoint /oauth/token, que está no link indicado anteriormente.

...

Base URL

A url base do consumo irá depender em qual ambiente o usuario de API foi criado, em ambientes de produção a URL será:

https://dpo.privacytools.com.br/external_api_v2/

Já em demo, será substituído o começo da URL pelo ambiente:

https://demo.privacytools.com.br/external_api_v2/

...

Principais endpoints:

/consent/import

Método: POST

Realiza a criação de um Titular de dados, contendo informações de cadastro como email, documento, telefone, entre outros, podendo ser também criado com um status de consentimento atrelado a uma finalidade.

Documentação completa: API - consent/import

/consent/find

Método: GET

Retorna os titulares de dados com consentimentos na lista de titulares. O retorno é feito por paginação (offset), que é passado no header da requisição.

Documentação completa: API /consent/find e consent/find/fixed

/consent/check/{templateHash}/{userHash}

Método: GET

Realiza a validação se um titular de dados consentiu ou não uma finalidade, retornando o status baseado no estado de consentimento do usuario mais recente dessa finalidade.

Documentação completa: API - /consent/check/{templateHash}/{userHash}

...

Ainda é possivel ver a lista completa de API’s de consentimento em nosso swagger na aba: https://dpo.privacytools.com.br/external_api_v2/swagger-ui.html#/external-consent-controller

...

Realizando vinculo com uma finalidade (templateHash)

Para a maioria das API’s de consentimento é feito o vinculo com uma finalidade utilizando o templateHash, sendo esse um hash único para identificar a finalidade a qual a API deve se comunicar.

A coleta dessa informação pode ser feita de duas formas:

Com acesso a plataforma:

Entrando na plataforma, siga o caminho (blue star)Privacidade > (blue star)Finalidades > +Finalidades, assim você poderá acessar a lista de finalidades criadas em um grupo de findardes, onde você pode copiar o Hash de registro.

Com um Usuario de API:

Você também pode realizar o consumo de duas API’s para ter a lista de grupos de consentimentos, e com a informação de groupId consumir a API para retornar as informações da finalidade desse grupo, contendo o hash de registro:

/consent/manage/groups/{language} - Retorna a lista de grupos de consentimento, com base na linguagem. Constando atributo groupId.

Expand
titleID de cada linguagen:

Cada linguagem possui um id, no consumo da API, é enviado no header apenas o id da linguagem:

1 - Português

2 - Inglês

3 - Espanhol

4 - Russo

5 - Alemão

6 - Francês

7 - Italiano

8 - Polonês

9 - Mandarim

10 - Árabe

11 - Holandês

/consent/manage/purpouses/{groupId} - Retorna a listagem de finalidades dentro de um grupo, cada uma contendo também seu Hash de registro

...