このドキュメントは、ネットワークの設定と、問題のデバッグに関する情報を提供します。
WhatsApp Business APIクライアントでWhatsAppサーバーに接続するには、特定のネットワーク要件があります。ビジネスで以下を行えない場合、残念ながらWhatsApp統合はサポートされません。
ビジネスごとにネットワークの構成やセキュリティの状況が異なることを当社は理解しています。接続やセキュリティに特別な要件があり、設定の際にこのドキュメント内の情報では不十分な場合は、ダイレクトサポートにお問い合わせください。
WhatsApp Business APIクライアントでは長期TCP接続が必要です。散発的なリクエストが行われるため、接続はアイドル状態のままにはなりません。ファイアウォール、ルーター、セキュリティなどによって長期TCP接続が終了しないようにしてください。
送信トラフィックに使用する次の2つのポートがあります。
5222
443
これらのポートは受信トラフィックをリッスンせず、受信トラフィックに使用されません。ビジネスのファイアウォールが、通常通り受信トラフィックからの保護を行います。
WhatsApp Business APIクライアントのデフォルトポートは5222
です。そのポートを使用できない場合、アプリはポート443
にフォールバックします。ポート443
は、少なくともアプリの登録と再起動時にHTTPS
用に開かれている必要があります。ポート5222
を閉じたままポート443
を開くことは可能ですが、ポート5222
を開いたままポート443
を閉じることはできません。
両方のポートを開き、すべての送信トラフィックを許可することをおすすめします。
WhatsApp Business APIクライアントは次の2つのタイプのプロトコルを使用します。
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
Dockerコンテナイメージをダウンロードするため、そのホストであるJFrog内のリポジトリへのアクセスを許可することも必要になります。
IPアドレスは提供できないので、JFrogの許可リストではホスト名を使用しなければなりません。
必要なJFrogホスト名は次のとおりです。
docker.whatsapp.biz
dl.bintray.com
akamai.bintray.com
ファイアウォールとその動作方法によっては、ホスト名を許可リストに追加しても機能せず、代わりにすべてのIPアドレスを許可リストに追加することが必要になる場合があります。
ホスト名を許可リストに登録するだけでは機能しないファイアウォールの動作の例としては、次のものがあります。
HTTP
/HTTPS
ハンドシェイクでホスト名を探すファイアウォール。ファイアウォールがこのいずれかの動作をする場合は、許可リストでのIPアドレスの使用に進んでください。
使用しているプロキシに対する次の環境変数を設定してネットワークプロキシを構成し、Coreappに渡します。
http_proxy
https_proxy
WADebugツールを使うと、Coreappコンテナが必要なWhatsAppサーバーすべてにアクセスできるかどうかを手軽にチェックできます。WADebugがインストールされている場合は、次のコマンドを実行するだけです。
wadebug partial check_network