執行以下步驟,在開發人員系統上安裝 WhatsApp Business API 用戶端的單一實例。
biz
目錄供設定指令碼使用在您 WhatsApp Business API 用戶端的慣用位置執行以下程式碼:
mkdir ~/biz; cd ~/biz;
WhatsApp Business API 用戶端的設定檔位於 WhatsApp-Business-API-Setup-Scripts GitHub 存放庫中。您可以使用 MySQL 或 Postgres 資料庫實例設定 WhatsApp Business API。
docker-compose.yml
和 db.env
設定檔複製到步驟 1 中所建立的 ~/biz
目錄。WA_API_VERSION
環境變數應將 WA_API_VERSION
環境變數設為目前版本,請使用以下程式碼設定:
export WA_API_VERSION=current-whatsapp-version
若要啟動具有 1 個資料庫容器、1 個網路應用程式容器和 1 個核心應用程式容器的 WhatsApp Business API 用戶端,請執行:
docker-compose up -d
輸出結果應如下所示:
Creating volume "biz_whatsappMedia" with local driver Creating volume "biz_mysqlData" with local driver Creating biz_db_1 ... done Creating biz_wacore_1 ... done Creating biz_waweb_1 ... done
您可以執行下列程式碼來檢查所有容器是否為 UP 狀態:
docker-compose ps
根據預設,網路應用程式容器將在 9090
連接埠上執行,資料庫容器將在 33060
連接埠上執行。
輸出結果應如下所示:
~/biz $ docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------- biz_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:33060->3306/tcp, 33060/tcp biz_wacore_1 /opt/whatsapp/bin/wait_on_ ... Up 6250/tcp, 6251/tcp, 6252/tcp, 6253/tcp biz_waweb_1 /opt/whatsapp/bin/wait_on_ ... Up 0.0.0.0:9090->443/tcp
如果您不想使用命令列,可以下載並設定 Postman 集合,如此便能與 WhatsApp Business API 互動。
您可以使用向 health
節點發出的 API 呼叫,對 WhatsApp Business API 用戶端執行系統健康檢查。
輸出結果應如下所示:
{ "health": { "gateway_status": "unregistered" } }
因為 WhatsApp Business API 用戶端目前尚未註冊,gateway_status
會顯示處於 unregistered
的 gateway_status
。
您可以使用向 account
節點發出的 API 呼叫,註冊 WhatsApp Business API 用戶端。
完成註冊之後,請使用向 health
節點發出的 API 呼叫,對 WhatsApp Business API 用戶端執行另一次系統健康檢查。
輸出結果應如下所示:
{ "health": { "gateway_status": "connected" } }
connected
的 gateway_status
代表核心應用程式容器能夠連接至 WhatsApp 伺服器,以檢查聯絡人和傳送訊息。
WA_API_VERSION
環境變數變更為新版本應將 WA_API_VERSION
環境變數更新為目前版本編號,請使用以下程式碼更新:
export WA_API_VERSION=new-whatsapp-version
執行下列程式碼重新啟動 Docker 容器:
docker-compose up -d
輸出結果應如下所示:
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
及以上版本的 MySQL 資料庫使用者您現在可以利用資料庫升級服務,該服務允許當應用程式仍在執行中時升級資料庫,以避免發生停機時間。
dbupgrade-compose.yml 檔具有指示容器版本的欄位。
範例:
services: dbupgrade: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}
若要升級安裝,請啟動具有將 WA_API_VERSION
環境變數設為最新版本的 dbupgrade-service 容器:
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
注意:如果您使用的協調流程在結束時(不論結束代碼為何)重新啟動容器,請啟動具有將 EXIT_ON_SUCCESS
環境變數設為 FALSE
的服務,以避免當結束代碼為 0
時結束容器。
如果資料庫升級成功,容器將以代碼 0
結束。您可以使用下列 Docker 命令來追蹤狀態:
docker wait your-database-upgrade-container-name
如此將輸出 dbupgrade-service 容器的結束代碼。
重新啟動具有將 WA_API_VERSION
環境變數設為最新版本的核心應用程式和網路應用程式 Docker 容器:
WA_API_VERSION=new-whatsapp-version docker-compose up -d
強烈建議您在解除安裝之前先備份目前的應用程式設定。請按照備份和還原文件操作。
如果您需要移除所有容器以重設開發環境,請在包含 docker-compose.yml
檔案的目錄中執行下列命令:
docker-compose down
輸出結果應如下所示:
Stopping biz_waweb_1 ... done Stopping biz_wacore_1 ... done Stopping biz_db_1 ... done Removing biz_waweb_1 ... done Removing biz_wacore_1 ... done Removing biz_db_1 ... done
若要清除容器和 docker-compose.yml
檔案中定義的所有磁碟區,請執行 down
命令並使用 -v
參數:
docker-compose down -v
我們建議使用 WADebug,以進行更有效的疑難排解。WADebug 為命令列工具,可幫助找出具有 WhatsApp Business API 設定的任何潛在問題,而且能更有效地向 WhatsApp 支援團隊要求協助。
如果無法使用 WADebug 或執行工具傳回錯誤時,請執行下列命令從所有容器蒐集記錄:
docker-compose logs > debug_output.txt
若要蒐集某一特定服務的記錄,請將服務名稱(waweb
或 wacore
)附加至 docker-compose logs
命令:
docker-compose logs waweb > debug_output.txt
您可以在目前目錄中找到 debug_output.txt
檔案中的記錄。