A sincronização de dados, também conhecida como SYNC, é o processo pelo qual compartilhamos os dados da plataforma LEX com parceiros externos. Os principais dados sincronizados incluem:
Atualmente, existem três métodos de sincronização disponíveis:
O Sync Full é um processo de sincronização onde todos os dados relevantes são enviados de uma vez para o sistema do parceiro através de um único endpoint. Esse método permite que o parceiro receba toda a estrutura da escola, incluindo os grupos econômicos e seus relacionamentos, de maneira completa em uma única solicitação.
Por exemplo, após o parceiro fornecer um token de acesso, enviamos informações sobre todos os grupos econômicos disponíveis para sincronização. Em seguida, o parceiro pode fazer novas solicitações para obter dados mais específicos de um determinado grupo econômico. Dessa forma, o Sync Full garante que o parceiro tenha acesso a um panorama completo e atualizado dos dados, facilitando a integração e o gerenciamento das informações no sistema parceiro.
Sync Webhook é o processo que envolve a comunicação LEX e Parceiro, onde a LEX envia dados automaticamente para outro sistema em tempo real ou próximo disso, sempre que ocorrem eventos específicos. Abaixo está uma descrição detalhada do processo:
Configuração do Webhook:
O parceiro (Cliente) fornece um endpoint HTTP (URL) que será o ponto de recepção dos dados. Este endpoint é configurado na LEX (Servidor) como um webhook, é necessário fornecer uma chave de API (x-api-key) para garantir que somente chamadas autorizadas sejam aceitas.
Gatilho de Eventos:
Quando determinados eventos ocorrem, como o acesso a um determinado produto, ou a revogação de acesso ao produto, ele aciona o webhook configurado.
Envio de Dados:
Quando um evento é disparado, a LEX formata os dados relevantes em uma carga útil (payload), no formato JSON, e faz uma solicitação HTTP para o endpoint do webhook fornecido pelo cliente (parceiro).
A solicitação inclui no cabeçalho a chave de autenticação (x-api-key) fornecida, garantindo que a solicitação seja válida.
Recepção e Processamento:
O parceiro recebe a solicitação HTTP com a carga útil e verifica a autenticidade da chamada usando a chave de API.
Após a verificação, o parceiro processa os dados recebido.
Após o processamento dos dados, o parceiro envia uma resposta HTTP a LEX para confirmar o recebimento e o sucesso (ou falha) da operação.
Exemplo Prático
Imagine um sistema de gerenciamento de alunos (Sistema A) que precisa manter sincronizado os dados de alunos com uma plataforma de aprendizado online (Sistema B).
Configuração: O Sistema B fornece uma URL de webhook e uma chave de API para o Sistema A.
Gatilho de Eventos: Sempre que um novo aluno é adicionado ou atualizado no Sistema A, um evento é disparado.
Envio de Dados: O Sistema A envia os detalhes do aluno, como nome, ID e cursos inscritos, ao webhook do Sistema B.
Recepção e Processamento: O Sistema B recebe os dados, valida e atualiza o perfil do aluno na plataforma de aprendizado.
Resposta: O Sistema B responde com HTTP 200, confirmando que a sincronização foi bem-sucedida.
O Sync Consumer é um processo de sincronização parcial no qual os dados são enviados conforme solicitado pelo sistema parceiro por meio de endpoints específicos. Ao contrário do Sync Full, onde todos os dados são enviados de uma só vez, o Sync Consumer permite que o parceiro solicite apenas as informações necessárias, de forma mais seletiva e conforme a demanda. Isso oferece flexibilidade para o parceiro integrar e gerenciar os dados de maneira mais eficiente, evitando o envio massivo de informações e garantindo que apenas os dados necessários sejam processados em cada requisição.