Configurando o Tactium Webhook em uma DMZ do Tactium OMNI
Sumário
Objetivo
Neste documento iremos abordar os procedimentos necessários para a aplicação e configuração do WebHook em uma rede externa (DMZ) e como funciona sua comunicação com a rede interna (Servidor Local), criando uma solução em duas camadas.
Pré-requisitos
- Webhook interno já configurado no Servidor Local. Para saber mais sobre acesse Configurando o WebHook no Portal do GupShup.
- A rede DMZ deve estar devidamente configurada com a porta de acesso, certificado web postado e com os IP’s de acesso da GupShup liberados para troca de requisições.
É de extrema importância que os Webhooks, interno e externo, estejam na mesma versão, afim de evitar qualquer tipo de incompatibilidade.
Topologia do processo
Para um melhor entendimento de como funciona a comunicação entre os WebHooks (interno e externo), segue uma apresentação da topologia e suas necessidades, durante todo o processo.
- Rede Local (link interno): Necessita ter acesso a pasta de anexos e também a URL externa da API do GupShup para envio das mensagens.
- Rede DMZ (link interno e externo): Precisa estar acessível para tratar o recebimento das mensagens, onde o Webhook externo, como um intermediário, recebe-as e envia para o Webhook interno.
- Torna-se necessário que a rede da DMZ possua o acesso do Webhook interno (local).
- O link do Webhook externo necessita ter https com o certificado implantado.
Configurando o Webhook na rede DMZ
Com o Webhook já configurado no servidor da rede local, precisaremos fazer o mesmo no servidor da rede DMZ. Desta forma, iremos adicionar os pacotes do Webhook na máquina.
O link do Webhook do Tactium OMNI deverá conter o protocolo de segurança https. Em vermelho sinalizamos os dados que serão as variáveis definidas de acordo com o site configurado no cliente e do aplicativo criado na GupShup.
https://SiteDomínioDoCliente/Omni/Webhook/nomeAppGupShup/
Exemplo da URL no ambiente da Tactium ficaria da seguinte forma, conforme o exemplo do app do GupShup do print abaixo: https://tactium.com.br/Omni/Webhook/TACTIUMProd/
No IIS ficará da seguinte forma:
Em seguida precisaremos realizar o apontamento do Webhook externo (DMZ) para o Webhook interno (Servidor local), para isso precisamos ir no arquivo Bibliotecas.config, do Webhook externo, e modificar o valor da chave UrlServicoHook, nele é necessário indicar o caminho de acesso do Webhook interno.
O pacote de instalação do Webhook da DMZ é o mesmo do Webhook da rede interna. A única diferença está relacionada com o apontamento da URL, onde dentro da rede DMZ é apontada para webhook interno e na rede interna é realizado o apontamento para o Banco de Dados, como esboçado na topologia anteriormente.
Feito isso, os métodos/requisições recebidos da GupShup pelo Webhook externo poderão ser repassados para o Webhook interno.
Alterações necessárias no ManagerADM
Com os Webhooks já, devidamente, configurados precisamos verificar os links interno e externo do ManagerADM nas configurações gerais. Para mais informações acesse Configurando as URLs do WebHook Interno e Externo.
Configurando o Serviço do GupShup (WhatsApp)
Após ter concluído todas as configurações das etapas anteriores precisamos criar o serviço de WhatsApp (GupShup). Para saber como configurar este serviço acesse Configurando o Serviço do Gupshup.