Este documento mostra como configurar uma instância única do cliente da API do WhatsApp Business em uma máquina de desenvolvedor para fins de teste. Caso você queira uma configuração de produção, siga as instruções listadas em Configurações de produção.
Para configurar inicialmente uma instância única, confira nossa lista de requisitos e execute estas etapas:
biz
para os scripts de configuraçãoWA_API_VERSION
Depois de concluir a configuração da sua instância, você pode atualizá-la. Para desinstalar o cliente, siga estas etapas.
Antes de começar, você precisará realizar o seguinte:
To install Docker Desktop on your developer machine:
The remaining steps are based on macOS and should be very similar for Linux or Windows 10.
To install Docker using macOS:
Docker Compose is a plugin that is bundled with Docker Desktop and should have installed automatically. For more information about using or Docker Compose, see Overview of Docker Compose. If for some reason Docker Compose was not installed, you can install it by following the instructions located at Install Docker Compose.
Configure uma conta de teste local em um ambiente de desenvolvimento. Ela deve ser usada para agilizar o desenvolvimento e testar lançamentos.
Perform the following steps to install a single instance of the WhatsApp Business API client on a developer system.
Create a ~/biz
directory for the WhatsApp Business API client.
Clone the WhatsApp Business API Client docker-compose.yml
and db.env
configuration files from the WhatsApp GitHub repository for either a
MySQL database setup or a Postgres database setup to your ~/biz
directory.
The WA_API_VERSION
environmental variable should be set to the current version.
~/biz $ export WA_API_VERSION=CURRENT-WA-API-VERSION
To find the current version of the API that you installed, open docker-compose.yml
and search for "WA_API_VERSION=
". The version number should be noted by a developer in the wacore
label:
wacore: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.31.4 docker-compose <command> <options>)}
To start the WhatsApp Business API client, run:
~/biz $ docker-compose up -d
The resulting output should look like the following:
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
You can check that all containers have an UP state by running:
~/biz $ docker-compose ps
By default, the Webapp container will be running on port 9090
(https://localhost:9090
) and the database container will be running on port 33060
(https://localhost:33060
).
The resulting output should look like the following:
~/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
Send a GET
request to /v1/health
endpoint to check the status of your client.
On success, you will see the following:
{ "health": { "gateway_status": "unregistered" } }
To register your WhatsApp Business API client, send a POST
request to the /v1/account
endpoint.
Upon registration gateway_status
will be set connected
. Your Coreapp container is able to connect to the WhatsApp server for checking contacts and sending messages.
Haverá um período de inatividade durante o processo de atualização.
Recomendamos que você faça backup das configurações do aplicativo antes de atualizar para garantir que você possa voltar a usá-lo rapidamente. Siga as instruções da documentação sobre backup e restauração.
Recomendamos que as atualizações sejam realizadas nos momentos mais tranquilos do dia.
WA_API_VERSION
para a nova versãoA variável de ambiente WA_API_VERSION
precisa ser atualizada para a versão mais recente por meio de:
export WA_API_VERSION=new-whatsapp-version
Se você estiver atualizando para a versão 2.33.4, o comando de exemplo será:
~/biz $ export WA_API_VERSION=2.33.4
Reinicie os contêineres do Docker executando:
docker-compose up -d
A saída terá aparência semelhante a esta:
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
e versões posterioresAgora você pode usar um serviço de atualização do banco de dados para atualizar o banco de dados enquanto o app continua em execução, evitando o tempo de inatividade.
O arquivo dbupgrade-compose.yml tem campos que indicam a versão do contêiner.
Exemplo:
services: dbupgrade: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}
Para atualizar uma instalação, inicialize o contêiner dbupgrade-service com a variável de ambiente WA_API_VERSION
definida como a versão mais recente:
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
Observação: se você estiver usando uma orquestração que reinicia o contêiner na saída independentemente do código de saída, inicialize o serviço com a variável de ambiente EXIT_ON_SUCCESS
definida como FALSE
. Isso evitará a saída do contêiner quando o código de saída for 0
.
Se a atualização do banco de dados for bem-sucedida, o contêiner sairá com o código 0
. É possível usar o seguinte comando do Docker para acompanhar o status:
docker wait your-database-upgrade-container-name
Com isso, o código de saída do contêiner dbupgrade-service será criado.
Reinicie os contêineres do Docker do Coreapp e do Webapp com a variável de ambiente WA_API_VERSION
definida como a versão mais recente:
WA_API_VERSION=new-whatsapp-version docker-compose up -d
Recomendamos que você faça backup das configurações atuais do seu aplicativo antes da desinstalação. Siga as instruções da documentação sobre backup e restauração.
Se você precisar redefinir seu ambiente de desenvolvimento removendo todos os contêineres, execute o seguinte comando no diretório que contêm o arquivo docker-compose.yml
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down
A saída terá aparência semelhante a esta:
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
Para eliminar todos os volumes definidos no arquivo docker-compose.yml
além dos contêineres, execute o comando down
com o parâmetro -v
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down -v
Recomendamos o uso do WADebug para solucionar os problemas de modo mais eficaz. WADEbug é uma ferramenta de linha de comando para ajudar a encontrar possíveis problemas com a configuração da API do WhatsApp Business e tornar a solicitação de suporte ao WhatsApp mais eficaz.
Se o WADebug não puder ser usado ou a execução da ferramenta retornar erros, execute o seguinte comando para coletar registros de todos os contêineres:
docker-compose logs > debug_output.txt
Para coletar os registros de um serviço específico, anexe o nome do serviço (waweb
ou wacore
) ao comando docker-compose logs
:
docker-compose logs waweb > debug_output.txt
Os registros podem ser encontrados no arquivo debug_output.txt
no diretório atual.
Esse software usa código de FFmpeg licenciado como LGPLv2.1. Baixe a fonte aqui.