Tài liệu này cung cấp thông tin về cách thiết lập mạng và khắc phục các sự cố tiềm ẩn.
Ứng dụng API WhatsApp Business có một số yêu cầu về mạng để kết nối với máy chủ WhatsApp. Nếu doanh nghiệp bạn không thể thực hiện những điều dưới đây thì rất tiếc, chúng tôi không thể hỗ trợ quá trình tích hợp WhatsApp của bạn.
Chúng tôi hiểu rằng cấu hình mạng và mối lo ngại về bảo mật của các doanh nghiệp là không giống nhau. Hãy liên hệ với bộ phận Hỗ trợ trực tiếp nếu sau khi xem tài liệu này, bạn vẫn chưa thể thiết lập do gặp trở ngại với bất kỳ yêu cầu đặc biệt nào về bảo mật hoặc kết nối.
Để truy cập vào ứng dụng API WhatsApp Business, bạn cần phải có một kết nối TCP dài hạn. Đôi khi, hệ thống sẽ gửi yêu cầu để duy trì hoạt động của kết nối này. Tuy nhiên, bạn sẽ phải đảm bảo rằng tường lửa, bộ định tuyến, tính năng bảo mật và các thành phần khác của mình không chặn những kết nối TCP dài hạn đó.
Có 2 cổng được sử dụng cho lưu lượng truy cập đi:
5222
443
Các cổng này không lắng nghe hoặc không được sử dụng cho lưu lượng truy cập đến. Tường lửa của doanh nghiệp bạn vẫn có thể ngăn lưu lượng truy cập đến như bình thường.
Cổng mặc định cho ứng dụng API WhatsApp Business là 5222
. Nếu cổng đó không hoạt động, ứng dụng này sẽ dùng cổng dự phòng 443
. Bạn cần mở cổng 443
cho HTTPS
ở mức tối thiểu để đăng ký và khởi động lại ứng dụng. Bạn có thể đóng cổng 5222
và mở cổng 443
nhưng không thể mở cổng 5222
và đóng cổng 443
.
Bạn nên mở cả 2 cổng và cho phép tất cả lưu lượng truy cập đi.
Ứng dụng API WhatsApp Business dùng 2 loại giao thức:
chatd
HTTPS
Giao thức chat độc quyền của WhatsApp có tên là chatd
. Giao thức này được dùng để gửi tin nhắn và thông tin đã mã hóa đến và từ máy chủ WhatsApp. Vì đây là giao thức độc quyền nên bạn phải cho phép toàn bộ lưu lượng truy cập đi từ cổng mà mình mở. Một số tường lửa và proxy chặn các kết nối không phải SSL. Điều này sẽ cản trở khả năng kết nối của ứng dụng với máy chủ WhatsApp.
WhatsApp sử dụng HTTPS
trong quá trình đăng ký và điều này là cần thiết cho trường hợp khởi động lại. Bạn không nên chặn HTTPS
sau khi đăng ký vì bạn không thể biết được khi nào mình phải đăng ký lại hoặc khởi động lại ứng dụng.
WhatsApp sử dụng nhiều loại địa chỉ IP cho các máy chủ. Bạn có thể thử cho phép tất cả các địa chỉ IP đó. Tuy nhiên, tốt nhất là cho phép tất cả lưu lượng truy cập đi và kết nối từ những cổng trên.
Địa chỉ và dải IP của máy chủ WhatsApp (file .zip)Danh sách này có thể thường xuyên thay đổi. Do đó, bạn nên cho phép tất cả lưu lượng truy cập đi từ cổng 5222
hoặc 443
để không phải cập nhật danh sách cho phép này trong mạng mỗi khi danh sách thay đổi.
Bạn có thể thêm máy chủ WhatsApp vào danh sách cho phép theo tên máy chủ, chứ không phải theo địa chỉ IP.
Dưới đây là các tên máy chủ của máy chủ WhatsApp mà ứng dụng API WhatsApp Business yêu cầu kết nối:
.*.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
Ngoài ra, bạn cũng sẽ cần cho phép truy cập vào kho lưu trữ trong JFrog - nơi chúng tôi lưu trữ hình ảnh vùng chứa Docker - để tải các hình ảnh đó xuống.
Bạn phải sử dụng tên máy chủ trong danh sách cho phép cho JFrog vì không thể cung cấp địa chỉ IP.
Sau đây là các tên máy chủ JFrog cần thiết:
docker.whatsapp.biz
dl.bintray.com
akamai.bintray.com
Tùy theo tường lửa và chức năng của tường lửa, việc đưa tên máy chủ vào danh sách cho phép có thể không hiệu quả. Thay vào đó, bạn cần đưa tất cả các địa chỉ IP vào danh sách cho phép.
Dưới đây là ví dụ về chế độ hoạt động của tường lửa không hiệu quả khi chỉ đưa tên máy chủ vào danh sách cho phép:
HTTP
/HTTPS
.Trong trường hợp tường lửa của bạn thể hiện một trong những chế độ hoạt động này, vui lòng tiếp tục sử dụng các địa chỉ IP trong danh sách cho phép.
Đặt cấu hình proxy mạng bằng cách đặt các biến môi trường sau đây cho proxy bạn đang sử dụng, sau đó chuyển chúng vào Coreapp:
http_proxy
https_proxy
Với công cụ WADebug, bạn có thể kiểm tra nhanh xem vùng chứa Coreapp có quyền truy cập vào tất cả các máy chủ WhatsApp được yêu cầu hay không. Khi đã cài đặt WADebug, bạn chỉ cần chạy:
wadebug partial check_network