Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 11 Next »

A configuração dos Webhooks é composta por dois principais componentes: Webhooks e Triggers.

Webhook

O webhook é um tipo de integração na qual o contratante pode receber informações no estilo de callback, assim, depois de configurado o webhook, ele será disparado quando um evento acontecer dentro do sistema da Privacy Tools. A chamada é feita por uma trigger a partir de um determinado evento. É necessário informar um endpoint, (URL do serviço do contratante), o método a ser usado (verbo HTTP), o tipo de autenticação e o corpo da requisição (no formato JSON).

O funcionamento será muito semelhante ao conceito de triggers do postgreSQL - Cadastra-se um webhook (função) e depois vincula a função com os componentes e eventos. Vamos ter alguns webhooks já prontos (globais) com sistemas conhecidos e o cliente pode criar os deles sem problemas.

Para acessar, Webhooks>>Meus webhooks.

Para adicionar um novo, clique em “Adicionar Webhook” :

Ao acessar a tela de configurações, é preciso informar os parâmetros (Método, Endpoint e forma de autenticação):

Feito isso, clicar em ‘Salvar’ no rodapé a direita. Feito isso, temos:

No caso de criar um webhook para "Pedidos de titulares", que é quando um DSAR é cadastrado, temos disponíveis as seguintes variáveis

${email}
${document}
${protocol}
${status}
${message}
${requestBody}

${category}

Trigger

A trigger contém a configuração de como será disparado o(s) webhook(s) e a partir de qual evento.

Na prática: Vamos supor que eu quero saber toda vez que uma nova solicitação de acesso à dados é enviada (DSAR) e que para receber essa notificação eu criei um serviço que contém um endpoint POST e optei pela utilização do token como mecanismo de segurança.

POST https://privacytools.com.br/Dsar.

A partir desse cenário, eu preciso criar um webhook conforme visto anteriormente.

Agora precisamos configurar a Trigger que irá chamar o webhook já criado. Webhooks>>Minhas triggers. Clique em ‘Adicionar Trigger’:

Ao acessar a tela, vamos nomear a nova Trigger, selecionar o evento e selecionar o webhook desejado:

Nota: É possível selecionar mais de um evento. Basta ir clicando no evento para incluir. Para excluir, clicar no x ao final da linha de cada evento já selecionado.

Feito isso, vamos adicionar um ou mais webhooks já cadastrados. Clique em ‘Adicionar +':

Selecione o webhooks desejado e em seguida, ‘OK’:

Após selecionar , clicar em ‘Salvar’:

Feito isso, temos:

Eventos de disparo

Os eventos de disparo são um conjunto fixo de eventos já pré-mapeados pela PrivacyTools que podem gerar disparos de triggers cadastrados. Cada vez que acontecer um evento destes abaixo o sistema deve buscar se existem triggers esperando por esse evento e se existe fazer o disparo conforme configurado:

Categoria do evento

Nome do evento

Variáveis que ele gera

Pedidos de titulares

Titular cria um novo pedido

Titular responde pedido

Empresa responde pedido

Pedido muda de status

${email}
${document}
${protocol}
${status}
${message}
${requestBody}
O request body é um JSON com todo o pedido. Deve ser documentado o seu formato.

Consentimento - Titulares

Novo titular criado

Dados de titular atualizado

Titular removido

${email}
${document}
${requestBody} é um
jSON com todos os dados do consentPerson

Consentimento - Ações

Novo consentimento aceito

Novo consentimento revogado


Ou seja qualquer mudança na dp_consent_log

${identifier}
No caso de consentimentos anônimos enviar o identificador

${email}
${document}
apenas se titular identificado

${templateHash}
Finalidade


${consentStatus}
true ou false

Variáveis globais

As variáveis globais são algumas variáveis que o sistema sempre vai gerar ao disparar uma trigger.

Variável

Valor

${companyID}

Código da empresa

${serverName}

Host do servidor de origem (dpo.privacytools, demo.privacytools etc)

${response}

Resposta da execução anterior caso seja um processo encadeado

${eventCategory}

Categoria do evento de disparo

${eventName}

Nome do evento de disparo

  • No labels