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.
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.
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.
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)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.
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
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
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:
HTTP
/HTTPS
.Si tu firewall muestra uno de estos comportamientos, utiliza las direcciones IP de una lista de autorizados.
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
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