Configurar e depurar a rede

Este documento fornece informações para a configuração da sua rede e a depuração de possíveis problemas.

Existem alguns requisitos de rede do cliente da WhatsApp Business API para a conexão aos servidores do WhatsApp. Se a empresa não cumprir os requisitos a seguir, não ofereceremos suporte para a integração com o WhatsApp.

Compreendemos que as empresas têm as próprias configurações de rede e preocupações com a segurança. Entre em contato com o Suporte Direto se este documento não contemplar a sua conectividade nem os seus requisitos de segurança.

O cliente da WhatsApp Business API precisa de uma conexão TCP persistente. Para que a conexão não entre em modo ocioso, serão feitas solicitações ocasionais. No entanto, você precisará garantir que a conexão não seja encerrada por um firewall, roteador, requisito de segurança, entre outros.

Portas

Estas duas portas são usadas para o tráfego de saída:

  • 5222
  • 443

Elas não acompanham nem são usadas para o tráfego de entrada. O firewall da empresa pode continuar protegendo a rede do tráfego de entrada normalmente.

A porta padrão para o cliente da WhatsApp Business API é a 5222. Se ela não estiver disponível, o aplicativo fará fallback para a porta 443. A porta 443 precisa estar aberta para HTTPS no mínimo para o registro e as reinicializações do aplicativo. Você pode deixar a porta 5222 fechada e a 443 aberta. Entretanto, não é possível fazer o contrário, que seria abrir a porta 5222 e não a 443.

Recomendamos abrir as duas portas e permitir todo o tráfego de saída.

Protocolos

O cliente da WhatsApp Business API usa dois tipos de protocolos:

  • chatd
  • HTTPS

O protocolo de conversa do WhatsApp chatd é usado para enviar mensagens e informações criptografadas de entrada e saída dos servidores. Por ser de propriedade do WhatsApp, a porta aberta deve estar em uma lista de permissão para todo o tráfego de saída. Alguns firewalls e proxies encerram conexões não SSL, o que interfere na capacidade do aplicativo de se conectar aos servidores do WhatsApp.

O WhatsApp usa HTTPS durante o registro e as reinicializações. Não é recomendado bloquear o HTTPS após o registro, porque talvez seja necessário refazer o registro ou reiniciar o aplicativo.

Endereços IP

O WhatsApp usa diversos endereços IP para os servidores. Você pode tentar permitir todos os endereços. Entretanto, a melhor medida é simplesmente permitir o tráfego de saída e as conexões das portas mencionadas.

Faixas e endereços IP do servidor do WhatsApp (arquivo .zip)
(atualizado no dia 26 de julho de 2022 e vigente a partir de 26 de julho de 2022)

Esta lista pode mudar com frequência. Portanto, para que você não precise alterar a lista de permissão da rede a cada atualização, recomendamos permitir todo o tráfego de saída das portas 5222 ou 443.

Nomes de host

É possível adicionar os servidores do WhatsApp à lista de permissão por nome de host, em vez de endereço IP.

O cliente da WhatsApp Business API precisa de conectividade com os seguintes nomes de host do servidor do WhatsApp:

  • .*.cdn.whatsapp.net
  • g.whatsapp.net
  • graph.facebook.com
  • graph.whatsapp.com
  • media-.*.cdn.whatsapp.net
  • media..*.fna.whatsapp.net
  • mmg.whatsapp.net
  • pps.whatsapp.net
  • static.whatsapp.net
  • v.whatsapp.net

Imagens dos contêineres do Docker

Para baixar as imagens dos contêineres do Docker, é necessário permitir o acesso ao nosso repositório no JFrog, no qual as imagens são hospedadas.

É obrigatório usar nomes de host na lista de permissão para o JFrog, porque os endereços IP não podem ser fornecidos.

Estes são os nomes de host necessários do JFrog:

  • docker.whatsapp.biz
  • dl.bintray.com
  • akamai.bintray.com

Firewalls

Dependendo do firewall utilizado e de como ele funciona, talvez ocorra um erro ao adicionar os nomes de host à lista de permissão. Nesse caso, será preciso incluir todos os endereços IP.

Os seguintes comportamentos de firewall não funcionam com os nomes de host:

  • Firewalls que executam uma consulta DNS (no DNS configurado no data center) e usam os IPs resultantes na lista de permissão.
  • Firewalls que procuram consultas DNS de saída em máquinas do data center e usam os endereços IP vistos em resposta à lista de permissão.
  • Firewalls que procuram nomes de host no handshake HTTP/HTTPS.

Caso o firewall demonstre um desses comportamentos, use os endereços IP na lista de permissão.

Proxies

Para configurar os proxies de rede, defina as seguintes variáveis de ambiente do proxy em uso e encaminhe-as ao Coreapp:

  • http_proxy
  • https_proxy

Como realizar testes com WADebug

Com a ferramenta WADebug, é possível verificar rapidamente se o contêiner do Coreapp tem acesso a todos os servidores necessários do WhatsApp. Com a WADebug instalada, basta executar:

  wadebug partial check_network