本文件提供設定網路和偵錯潛在問題的相關資訊。
WhatsApp Business API 用戶端必須符合特定網路需求,才能連線至 WhatsApp 伺服器。如果您的企業無法符合以下要求,我們就無法支援 WhatsApp 整合工具。
Facebook 瞭解每家企業有不同的網路配置與安全考量,如果您有任何特殊的連線或安全需求,且在本文件中找不到答案,請聯絡直接支援團隊。
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 伺服器,以及接收來自該伺服器的加密訊息和資訊。由於是專屬通訊協定,我們要求您必須將開啟的連接埠新增到所有傳出流量的許可清單中。部分防火牆和 Proxy 會終止非 SSL 連線,導致應用程式無法順利連線至 WhatsApp 伺服器。
WhatsApp 在註冊期間會使用 HTTPS
,重新啟動時也必須用到該通訊協定。我們不建議在註冊後封鎖 HTTPS
,因為您的應用程式日後可能必須重新註冊或重新啟動。
WhatsApp 伺服器會使用多個 IP 位址,您可以嘗試允許所有 IP 位址。然而,建議您只允許來自上述連接埠的所有傳出流量和網路連線。
WhatsApp 伺服器 IP 位址和範圍(.zip 檔案)此清單可能經常變更。因此,建議您允許來自連接埠 5222
或 443
的所有傳出流量,如此便不用在每次有所變更時從網路內更新此許可清單。
您能夠在許可清單上以主機名稱加入 WhatsApp 伺服器,而不是以 IP 位址加入。
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 容器影像。
您必須在許可清單上使用 JFrog 的主機名稱,因為系統無法提供 IP 位址。
必要的 JFrog 主機名稱包括:
docker.whatsapp.biz
dl.bintray.com
akamai.bintray.com
視防火牆及其功能而定,只是將主機名稱加入許可清單可能無效,因此您需要在許可清單上加入所有 IP 位址。
只是將主機名稱加入許可清單仍無效的防火牆行為範例包括:
HTTP
/HTTPS
交握中主機名稱的防火牆。假如您的防火牆出現上述其中一項行為,請繼續在許可清單上加入 IP 位址。
若要設定網路 Proxy,您可以將下列環境變數設定為正在使用的 Proxy,然後傳遞至核心應用程式:
http_proxy
https_proxy
WADebug 工具可協助快速查看核心應用程式容器是否擁有所有必要 WhatsApp 伺服器的存取權限。只需在安裝 WADebug 後執行:
wadebug partial check_network