A configuração dos Workflow é composta por dois principais componentes: Meus fluxos e Meus gatilhos.
Meus Fluxos
O worflow é um tipo de integração na qual o contratante pode receber informações no estilo de callback, assim, depois de configurado o workflow, 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 REST 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} |
Consentimento - Titulares | Novo titular criado Dados de titular atualizado Titular removido | ${email} |
Consentimento - Ações | Novo consentimento aceito Novo consentimento revogado Ou seja qualquer mudança na dp_consent_log | ${identifier} ${email} ${templateHash} ${consentStatus} |
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 |