En este documento se describe cómo configurar una instancia única del cliente de la API de WhatsApp Business en una máquina de desarrollador con el propósito de realizar pruebas. Para una configuración de producción, sigue las instrucciones pertinentes que se detallan en Configuraciones de producción.
Para configurar una instancia única desde el principio, consulta la lista de requisitos y sigue los pasos siguientes:
biz
para los scripts de configuración.WA_API_VERSION
.Una vez que hayas configurado la instancia por completo, puedes elegir actualizarla. Para desinstalar el cliente, sigue estos pasos.
Antes de empezar, necesitarás hacer lo siguiente:
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.
Asegúrate de configurar una cuenta de prueba local en un entorno de desarrollo. Esto ayudará a desarrollar más rápido y a probar los nuevos lanzamientos.
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.
Se producirá un tiempo de inactividad durante el proceso de actualización.
Te recomendamos encarecidamente que hagas una copia de seguridad de la configuración actual de la aplicación antes de actualizarla para que puedas volver a ponerte en marcha rápidamente. Sigue la documentación sobre las copias de seguridad y la restauración.
Siempre es recomendable llevar a cabo las actualizaciones durante las horas con menos actividad.
WA_API_VERSION
por la nueva versiónLa variable de entorno WA_API_VERSION
debe actualizarse al nuevo número de versión mediante lo siguiente:
export WA_API_VERSION=new-whatsapp-version
Si vas a actualizar a la versión 2.33.4, el comando de ejemplo sería el siguiente:
~/biz $ export WA_API_VERSION=2.33.4
Reinicia los contenedores de Docker ejecutando lo siguiente:
docker-compose up -d
La salida resultante debería tener el siguiente aspecto:
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
y posterioresAhora se puede hacer uso del servicio de actualización de la base de datos, que permite actualizar la base de datos mientras la aplicación se ejecuta para evitar tiempos de inactividad.
El archivo dbupgrade-compose.yml contiene campos que indican la versión del contenedor.
Ejemplo:
services: dbupgrade: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}
Para actualizar una instalación, inicia el contenedor de servicio “dbupgrade” con la variable de entorno WA_API_VERSION
establecida en la versión más reciente:
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
Nota: Si vas a utilizar una orquestación que reinicia el contenedor al salir independientemente del código de salida, inicia el servicio con la variable de entorno EXIT_ON_SUCCESS
establecida en FALSE
para evitar salir del contenedor cuando el código de salida sea 0
.
Si la actualización de la base de datos se realiza correctamente, el contenedor saldrá con el código 0
. Puedes utilizar el siguiente comando Docker para hacer un seguimiento del estado:
docker wait your-database-upgrade-container-name
Esta operación mostrará el código de salida del contenedor de servicio “dbupgrade”.
Reinicia los contenedores de la aplicación principal y la aplicación web con la variable de entorno WA_API_VERSION
establecida en la versión más reciente:
WA_API_VERSION=new-whatsapp-version docker-compose up -d
Te recomendamos encarecidamente que hagas una copia de seguridad de la configuración actual de la aplicación antes de desinstalarla. Sigue la documentación sobre las copias de seguridad y la restauración.
Si necesitas restablecer tu entorno de desarrollo mediante la eliminación de todos los contenedores, ejecuta el siguiente comando desde el directorio que contiene el archivo docker-compose.yml
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down
La salida resultante debería tener el siguiente aspecto:
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 deshacerte de todos los volúmenes que se definen en el archivo docker-compose.yml
, además de los contenedores, ejecuta el comando down
con el parámetro -v
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down -v
Recomendamos usar WADebug para solucionar los problemas de forma más efectiva. WADebug es una herramienta de línea de comandos que ayuda a encontrar cualquier problema que pueda haber en la configuración de la API de WhatsApp Business, así como a realizar solicitudes de ayuda al servicio de asistencia de WhatsApp de manera más eficaz.
En los casos en los que WADebug no se pueda usar o su uso devuelva errores, ejecuta el siguiente comando para obtener los registros de todos los contenedores:
docker-compose logs > debug_output.txt
Para obtener los registros de un servicio determinado, añade el nombre del servicio (waweb
o wacore
) al comando docker-compose logs
:
docker-compose logs waweb > debug_output.txt
Encontrarás los registros en el archivo debug_output.txt
del directorio actual.
Este software utiliza código de FFmpeg con licencia de LGPLv2.1 y el código fuente puede descargarse aquí.