En este documento, se muestra cómo configurar una única instancia del cliente de la API de WhatsApp Business en un equipo de desarrollador con fines de prueba. Para configurar la producción, sigue las instrucciones relevantes indicadas en Instalaciones de producción.
Para configurar una única instancia, consulta nuestra lista de requisitos y sigue estos pasos:
biz
para almacenar los scripts de configuraciónWA_API_VERSION
Una vez que hayas configurado por completo tu instancia, podrás optar por actualizarla. Para desinstalar el cliente, sigue estos pasos.
Antes de empezar, necesitarás completar 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. Es útil para un desarrollo rápido y para poner a prueba 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.
Habrá tiempo de inactividad durante el proceso de actualización.
Se recomienda crear una copia de seguridad de la configuración actual de la app antes de actualizarla; eso te permitirá asegurarte de que puedas volver a ponerte en marcha rápidamente. Sigue los pasos de la documentación sobre copias de seguridad y restauración.
Se recomienda siempre realizar las actualizaciones durante las horas de menos actividad.
WA_API_VERSION
por la nueva versiónLa variable de entorno WA_API_VERSION
debe actualizarse a la nueva versión mediante lo siguiente:
export WA_API_VERSION=new-whatsapp-version
Si haces una actualización 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 Docker ejecutando lo siguiente:
docker-compose up -d
El resultado se verá como en el siguiente ejemplo:
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
o a una superiorAhora puedes utilizar un servicio de actualización de versión de base de datos que te permite actualizar la base de datos con la app en ejecución y así evitar tiempo de inactividad.
El archivo dbupgrade-compose.yml tiene 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 la versión de una instalación, inicia el contenedor dbupgrade-service con la variable de entorno WA_API_VERSION
configurada con el valor de la versión más reciente:
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
Nota: Si utilizas 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
configurada en FALSE
para evitar salir del contenedor cuando el código de salida sea 0
.
Si la base de datos se actualiza con éxito, el código del contenedor al salir será 0
. Puedes utilizar el siguiente comando Docker para hacer un seguimiento del estado:
docker wait your-database-upgrade-container-name
El resultado devuelto será el código de salida del contenedor dbupgrade-service.
Reinicia el contenedor Docker de la app web y el de la app principal con la variable de entorno WA_API_VERSION
configurada con la versión más reciente:
WA_API_VERSION=new-whatsapp-version docker-compose up -d
Se recomienda crear una copia de seguridad de la configuración de la app actual antes de desinstalarla. Sigue los pasos de la documentación sobre copias de seguridad y restauración.
Si debes eliminar todos los contenedores para restablecer el entorno de desarrollo, ejecuta el siguiente comando desde el directorio que contiene el archivo docker-compose.yml
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down
El resultado se verá como en el siguiente ejemplo:
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
Si, además de los contenedores, quieres eliminar todos los volúmenes definidos en el archivo docker-compose.yml
, ejecuta el comando down
con el parámetro -v
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down -v
Para solucionar problemas de forma más eficaz, recomendamos utilizar WADebug. WADebug es una herramienta de línea de comandos que sirve para buscar posibles problemas en la configuración de la API de WhatsApp Business y para pedir ayuda a la asistencia de WhatsApp con mayor facilidad.
En los casos en que no se pueda utilizar WADebug o cuando al ejecutar la herramienta se devuelvan errores, ejecuta el siguiente comando para recopilar registros de todos los contenedores:
docker-compose logs > debug_output.txt
Para recopilar los registros de un servicio específico, agrega el nombre del servicio (waweb
o wacore
) al comando docker-compose logs
:
docker-compose logs waweb > debug_output.txt
Puedes encontrar los registros en el archivo debug_output.txt
en el directorio actual.
Este software utiliza código de FFmpeg con licencia de LGPLv2.1, y puedes descargar el código fuente aquí.