APIs - Tutoriais

Integração via eventos

1449 views 04/06/2020 21/07/2021 paulo-weber 1

A Plataforma Senior X possui suporte a integração via eventos, permitindo que quando determinado evento acontecer, como por exemplo um novo cadastro, seja configurada uma url de serviço para ser chamada para que qualquer serviço possa ser notificado sobre cada chamada de evento. Essa alternativa de integração substitui a necessidade das repetitivas consultas a cada intervalo de tempo para verificar se algo mudou, pois quando algo mudar um evento será disparado. Abaixo segue uma ilustração sobre o funcionamento dessa integração.

É importante salientar que nem todas as APIs dos serviços da Senior X disparam os eventos informando sobre as alterações, é necessário consultar a lista de APIs públicas do serviço desejado e verificar se o mesmo possui o evento para substituir a consulta. Caso a API que você precisa não tenha suporte a eventos ainda, entre em contato conosco solicitando a criação. Saber quais APIs nossos clientes precisam nos ajudam a priorizar nosso trabalho e entregar primeiro as APIs que os clientes mais precisam.

Criando uma integração via eventos

Existem duas formas de criar essa integração via eventos, de forma manual ou via API, caso seja necessário efetuar a integração em apenas um tenant, ou o usuário esteja testando a ferramenta, descobrindo como funciona é interessante utilizar a forma manual via tela, seguindo a documentação abaixo. Já o cadastro da integração via API é muito útil em situações onde a integração vai acontecer em vários tenants e se torne um processo repetitivo, pois desta forma é possível automatizar esse cadastro diminuindo o tempo de implantação da solução.

Criar integração manualmente

O primeiro passo é abrir a tela de Cadastro de extensões, por padrão a tela está disponível através do menu Tecnologia -> Customização -> Events hub -> Webhooks. A tela que será aberta, apresenta a lista de todos eventos já integrados. Pra continuar o tutorial, clique no botão NOVO, após a abertura da tela informa no campo EVENTO o nome do evento, neste exemplo é a API usersChanged do serviço de usuários.

O segundo passo é configurar um endpoint que será executado quando o evento acontecer. Clique no botão NOVO e informe a URL do endpoint, também é possível definir filtro no formato JSONPath, para que seu endpoint seja chamado apenas quando os dados do evento sejam do interesse da sua integração. Você também pode customizar a autenticação e os cabeçalhos que serão enviados.

Exemplo de configuração para chamar um serviço para efetuar a integração:

Clique no botão ADICIONAR para gravar o endpoint no evento.

E clique em SALVAR para finalizar. Agora toda vez que um usuário for alterado, o seu endpoint será chamado.

Caso ocorra erro na tentativa de entrega dos dados, serão feitas 15 tentativas de entrega. Após este limite, o endpoint é inativado dentro do Webhook cadastrado. A cada tentativa de entrega é registrada nos logs as informações referentes ao sucesso ou erro da entrega, podendo ser consultado nos detalhes do evento.

Nas retentivas utilizamos a Sequência de Fibonacci onde a cada 30, 60, 90, 150, 240, 390, 630, 1020, 1650, 2670, 4320, 6990, 11310, 18300, 29610 segundos serão feitas novas tentativas de entrega. Então, após as 15 tentativas terão se passados pouco mais de 21 horas.
A partir da 10º tentativa, os usuários administradores do tenant serão notificados via plataforma, sobre os erros na entrega do evento ao endpoint. E caso persista, na 15º tentativa, eles serão notificados da inativação do endpoint.

Este artigo foi útil para você?