本文档提供与设置网络和排除潜在问题有关的信息。
如要将 WhatsApp Business API 客户端连接至 WhatsApp 服务器,则需满足一定的网络要求。如果您的企业无法进行以下操作,那么很遗憾,我们将无法支持您的 WhatsApp 集成。
我们深知不同企业拥有不同的网络配置,也面临不同的安全问题。当您在设置中遇到任何特殊的连接或安全要求时,如果本文档不足以提供帮助,请联系站内支持。
必须为 WhatsApp Business API 客户端建立长期有效的 TCP 连接。客户端会不时发出请求,因此连接不会处于空闲状态。但是,您必须确保防火墙、路由器和安全措施等不会终止长期有效的 TCP 连接。
以下两个端口将用于传输出站流量:
5222
443
这两个端口不会进行侦听或用于传输入站流量。您企业的防火墙可以如常保护客户端,防止其受到入站流量侵扰。
WhatsApp Business API 客户端的默认端口为 5222
。如果默认端口不可用,应用程序将回退至 443
端口。应至少打开 HTTPS
对应的 443
端口,否则应用程序将无法注册和重启。您可以关闭 5222
端口并打开 443
端口,但不能只打开 5222
端口而关闭 443
端口。
建议您同时打开两个端口并允许所有出站流量。
WhatsApp Business API 客户端使用以下两种协议:
chatd
HTTPS
WhatsApp 专有聊天协议(即 chatd
)可用于发送往来于 WhatsApp 服务器的加密消息和信息。因其专有性,我们要求您将打开的端口加入白名单,允许所有出站流量。一些防火墙和代理程序会终止非 SSL 连接,这会导致应用程序连接至 WhatsApp 服务器时出现异常。
WhatsApp 会在注册期间和重启时使用 HTTPS
。我们不建议您在注册后屏蔽 HTTPS
,因为您不知道何时需要重新注册或重启自己的应用程序。
WhatsApp 的服务器会使用多个 IP 地址。您可以尝试允许所有 IP 地址,但建议您只允许上述端口的所有出站流量和连接。
WhatsApp 服务器 IP 地址和范围(.zip 文件)此清单可能会经常更改,因此,我们建议您允许 5222
或 443
端口的所有出站流量,以免此清单每次有变更时您都必须在网络中更新白名单。
您可以按照主机名称而非 IP 地址的形式将 WhatsApp 服务器添加到白名单中。
WhatsApp Business API 客户端需要连接的 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
您还需要允许访问 JFrog 中托管 Docker 容器映像的存储库,以便下载映像。
由于无法提供 IP 地址,因此您必须在白名单中使用 JFrog 主机名称。
必须提供的 JFrog 主机名称包括:
docker.whatsapp.biz
dl.bintray.com
akamai.bintray.com
依防火墙及其工作方式不同,仅将这些主机名称加入白名单可能无法起作用,这时您还需要将所有 IP 地址加入白名单。
如果只将主机名称添加至白名单,一些防火墙行为可能无法生效,示例如下:
HTTP
/HTTPS
握手中查找主机名称。如果您的防火墙出现以上任一种行为,请继续使用白名单中的 IP 地址。
配置网络代理时,将以下环境变量设置为您正在使用的代理,然后将其传递至核心应用:
http_proxy
https_proxy
WADebug 工具有助于快速检查核心应用容器是否可以访问所有必要的 WhatsApp 服务器。安装 WADebug 之后,只需运行:
wadebug partial check_network