本文件提供有關設定網絡並為潛在問題除錯的資訊。
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 伺服器及從 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