-
PT
-
ES
-
AO
-
CV
-
MZ
-
ST
-
GW
-
Professional
-
Executive
-
Public Sector
-
Omnia
-
Evolution
Nos eventos de extensibilidade, os Webhooks permitem a integração da extensibilidade com sistemas externos, nomeadamente, com sistemas cloud.
A configuração de Webhooks está apenas disponível na linha Evolution e com licença PEX Advanced ou Webhooks.
Configurar Webhooks
Os Webhooks disponibilizados permitem notificar o término de qualquer transação a um sistema externo.
Todos os Webhooks necessitam de um segredo de transmissão que é utilizado para encriptar a mensagem no envio e desencriptar a mensagem no recetor. O segredo de transmissão deve ser composto por 24 caracteres e possuir no mínimo um carácter dos seguintes tipos:
- Letra minúscula;
- Letra maiúscula;
- Número (0 a 9);
- Carácter especial (por exemplo: !, €, #, %).
O segredo não pode incluir letras com sinais gráficos, por exemplo: À, õ, ë, ç.
Para configurar os Webhooks, siga os seguintes passos:
- Aceder a Extensibilidade | Webhooks na área de configurações do ERP (backstage);
- Adicionar um Webhook;
- Definir o nome do webhook, as empresas, o endereço URL e o segredo de transmissão;
- Selecionar os serviços dos quais pretende receber notificação;
- Clicar em Gravar.
Quando abertos, os eventos efetuam três tentativas de envio. Se após as três tentativas não for possível enviar o evento, o erro é gravado nos eventos do sistema do Administrador.
Exemplo
Na plataforma GitHub, está disponível um pequeno projeto designado de WebhookSampleque exemplifica como poderá ser implementado um sistema de Webhooks numa API externa (ver aqui).
Este projeto integra um controlador (WebhookController) que contém alguns exemplos de requisições POST, mais propriamente para os módulos Base, Internos e Produção.
Existindo um Webhook configurado para um evento de um determinado editor ou serviço, este permitirá receber uma mensagem com os dados relativos a esse mesmo evento.
O exemplo fornecido recebe a mensagem, descodifica e escreveo seu conteúdo num ficheiro que se encontra numa localização previamente definida.
A rota definida para esta requisição deverá ser construída seguindo a seguinte configuração: account/subscriptionalias/instance/company/module/sender/source/event.
Algoritmo de Cifragem
Para encriptação/desencriptação das mensagens, foi utilizado um algoritmo de criptografiaAdvanced Encryption Standard (AES). Este algoritmo de cifragem é também disponibilizado no projeto.
Esta é uma cifra de bloco simétrica que usa uma mesma chave para encriptar e desencriptar os dados (ver algoritmo).