Configurar y depurar la red

En este documento se ofrece información para configurar la red y depurar posibles problemas.

El cliente de la API de WhatsApp Business presenta determinados requisitos de red para conectarse a los servidores de WhatsApp. Si tu empresa no puede hacer lo siguiente, lamentablemente no podemos admitir tu integración de WhatsApp.

Entendemos que distintas empresas tienen distintas configuraciones de red y preocupaciones de seguridad. Ponte en contacto con el servicio de asistencia directa si este documento no es suficiente para tu configuración debido a los requisitos especiales de conectividad o seguridad que puedas tener.

El cliente de la API de WhatsApp Business requiere una conexión TCP de larga duración. Se realizarán solicitudes ocasionales para que la conexión no permanezca inactiva. No obstante, tendrás que asegurarte de que el firewall, el router, la seguridad, etc. no terminen las conexiones TCP de larga duración.

Puertos

Se utilizan dos puertos para el tráfico saliente:

  • 5222
  • 443

No escuchan el tráfico entrante ni se utilizan para este. El firewall de tu empresa puede seguir ofreciendo protección frente al tráfico entrante de la manera habitual.

El puerto predeterminado para el cliente de la API de WhatsApp Business es 5222. Si ese puerto no está disponible, la aplicación usará como reserva el puerto 443. El puerto 443 debe estar abierto para HTTPS como mínimo para el registro y los reinicios de la aplicación. Puedes dejar cerrado el puerto 5222 y tener abierto el 443, pero no puedes abrir el puerto 5222 y dejar cerrado el 443.

Se recomienda abrir ambos puertos y permitir todo el tráfico saliente.

Protocolos

El cliente de la API de WhatsApp Business utiliza dos tipos de protocolos:

  • chatd
  • HTTPS

El protocolo de chat propiedad de WhatsApp, denominado chatd, se utiliza para intercambiar información y mensajes cifrados con los servidores de WhatsApp. Dado que es un protocolo propio, requerimos que el puerto que abras se encuentre en una lista de autorizados para todo el tráfico saliente. Algunos firewalls y servidores proxy terminan las conexiones que no son SSL, lo que interferirá en la capacidad de la aplicación para conectarse a los servidores de WhatsApp.

WhatsApp utiliza HTTPS durante el registro y también es necesario para los reinicios. No es recomendable bloquear HTTPS después del registro. Si lo haces, nunca sabrás cuándo tienes que volver a registrarte o reiniciar la aplicación.

Direcciones IP

WhatsApp utiliza un intervalo amplio de direcciones IP para sus servidores. Puedes intentar permitir todas las direcciones IP. Sin embargo, es mejor permitir únicamente todo el tráfico saliente y las conexiones de los puertos anteriores.

Rangos y direcciones IP del servidor de WhatsApp (archivo .zip)
(actualizado el 26 de julio de 2022, aplicable a partir del 26 de julio de 2022)

Es posible que esta lista cambie con frecuencia. Por lo tanto, se recomienda permitir todo el tráfico saliente del puerto 5222 o 443 para evitar tener que actualizar esta lista de autorizados en tu red cada vez que cambie.

Nombres de host

Puedes añadir los servidores de WhatsApp a tu lista de autorizados por nombre de host en lugar de hacerlo por dirección IP.

Los nombres de host de los servidores de WhatsApp con los que el cliente de la API de WhatsApp Business necesita conectividad son:

  • .*.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

Imágenes de contenedor de Docker

También deberás permitir el acceso a nuestro repositorio en JFrog, donde hospedamos las imágenes de contenedor de Docker, para descargarlas.

Debes utilizar los nombres de host de tu lista de autorizados para JFrog, ya que no se pueden proporcionar direcciones IP.

Los nombres de host de JFrog necesarios son:

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

Firewalls

En función del firewall que tengas y de cómo funcione, es posible que la adición de nombres de host a una lista de autorizados no funcione y que debas añadir todas las direcciones IP a dicha lista en su lugar.

Ejemplos de comportamiento del firewall que no funcionarán solo con los nombres de host en una lista de autorizados:

  • Firewalls que ejecuten una consulta de DNS (para el DNS configurado en tu centro de datos) y utilicen las direcciones IP resultantes en la lista de autorizados.
  • Firewalls que busquen consultas de DNS salientes de máquinas del centro de datos y utilicen las direcciones IP observadas en la respuesta a la lista de autorizados.
  • Firewalls que busquen nombres de host en el protocolo de enlace HTTP/HTTPS.

Si tu firewall muestra uno de estos comportamientos, utiliza las direcciones IP de una lista de autorizados.

Servidores proxy

Para configurar los servidores proxy de red, establece las variables de entorno siguientes en el proxy que estás utilizando y, a continuación, pásalas a la aplicación principal:

  • http_proxy
  • https_proxy

Realizar pruebas con WADebug

La herramienta WADebug puede ayudarte a comprobar rápidamente si el contenedor de la aplicación principal tiene acceso a todos los servidores necesarios de WhatsApp. Una vez instalada la herramienta WADebug, solo tienes que ejecutar el comando siguiente:

  wadebug partial check_network