Ce document explique comment configurer une instance unique du client de l’API WhatsApp Business sur une machine de développeur·se à des fins de test. Pour une configuration en production, suivez les instructions correspondantes de la section Configurations en production.
Pour configurer une instance unique, consultez notre liste de conditions requises, puis suivez ces étapes :
biz
pour les scripts de configurationWA_API_VERSION
Une fois que votre instance est entièrement configurée, vous pouvez choisir de mettre à jour le client. Pour désinstaller le client, suivez ces étapes.
Avant de commencer, vérifiez que vous possédez les éléments suivants :
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.
Configurez un compte de test localement dans un environnement de développement. Il assure un développement rapide et permettra de tester les nouvelles versions.
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.
Il y aura un temps d’arrêt pendant la mise à jour.
Il est fortement recommandé de sauvegarder vos paramètres d’application avant de lancer une mise à jour afin de vous assurer de pouvoir reprendre votre activité rapidement. Veuillez consulter la documentation sur la sauvegarde et la restauration.
Il est toujours recommandé d’effectuer les mises à jour pendant les heures creuses.
WA_API_VERSION
sur la nouvelle versionLa variable d’environnement WA_API_VERSION
doit toujours être mise à jour de manière à indiquer le numéro de la nouvelle version avec la commande :
export WA_API_VERSION=new-whatsapp-version
Si vous effectuez la mise à jour vers la version 2.33.4, la commande se présentera comme suit :
~/biz $ export WA_API_VERSION=2.33.4
Redémarrez les conteneurs Docker en exécutant :
docker-compose up -d
Le résultat de cette commande doit se présenter comme suit :
biz_db_1 is up-to-date Recreating biz_wacore_1 ... done Recreating biz_waweb_1 ... done
v2.23.x
ou une version ultérieureVous pouvez maintenant utiliser un service de mise à jour qui vous permettra de mettre à jour votre base de données pendant l’exécution de votre application, pour éviter les temps d’arrêt.
Le fichier dbupgrade-compose.yml contient des champs indiquant la version du conteneur.
Exemple :
services: dbupgrade: image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.21.3}
Pour mettre à jour une installation, démarrez le conteneur dbupgrade-service avec la variable d’environnement WA_API_VERSION
définie sur la dernière version :
WA_API_VERSION=new-whatsapp-version docker-compose -f dbupgrade-compose.yml up -d
Remarque : si vous utilisez une orchestration qui redémarre le conteneur à la sortie indépendamment du code de sortie, démarrez le service avec la variable d’environnement EXIT_ON_SUCCESS
définie sur FALSE
pour éviter de quitter le conteneur lorsque le code de sortie est 0
.
Si la mise à jour de la base de données est réussie, le code de sortie du conteneur sera 0
. Vous pouvez utiliser la commande Docker suivante pour suivre l’état :
docker wait your-database-upgrade-container-name
Le code de sortie du conteneur dbupgrade-service sera alors indiqué dans la sortie.
Redémarrez les conteneurs Docker Coreapp et Webapp avec la variable d’environnement WA_API_VERSION
définie sur la dernière version :
WA_API_VERSION=new-whatsapp-version docker-compose up -d
Il est fortement recommandé de sauvegarder vos paramètres d’application avant de lancer une procédure de désinstallation. Veuillez consulter la documentation sur la sauvegarde et la restauration.
Pour réinitialiser votre environnement de développement en supprimant tous les conteneurs, exécutez la commande suivante depuis le répertoire contenant le fichier docker-compose.yml
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down
Le résultat de cette commande doit se présenter comme suit :
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
Afin de supprimer également tous les volumes définis dans le fichier docker-compose.yml
, exécutez la commande down
avec le paramètre -v
:
WA_API_VERSION={VERSION_NUMBER} docker-compose down -v
Nous recommandons l’utilisation de WADebug pour un dépannage plus efficace. WADebug est un outil de ligne de commande qui vous aide à repérer les problèmes potentiels liés à la configuration de l’API WhatsApp Business et à simplifier les demandes d’aide auprès de l’assistance WhatsApp.
Si vous ne pouvez pas utiliser WADebug ou que son exécution renvoie des erreurs, exécutez la commande suivante pour recueillir les journaux de tous les conteneurs :
docker-compose logs > debug_output.txt
Pour recueillir les journaux d’un service spécifique, ajoutez le nom du service (waweb
ou wacore
) à la commande docker-compose logs
:
docker-compose logs waweb > debug_output.txt
Vous trouverez les journaux dans le fichier debug_output.txt
enregistré dans le répertoire actuel.
Ce logiciel utilise le code de FFmpeg sous licence du LGPLv2.1 et sa source peut être téléchargée ici.