L’API On-Premises ne sera bientôt plus disponible. Consultez notre document Abandon progressif de l’API On-Premises pour de plus amples détails, mais aussi pour connaître la procédure de migration vers notre API Cloud nouvelle génération.

Questions/réponses sur l’API On-Premises

Consultez le statut de page de la plateforme WhatsApp Business afin d’obtenir les dernières informations sur les pannes de plateforme.

Premiers pas

WhatsApp considère que les communications avec les utilisateurs de l’API Business qui gèrent le point de terminaison de l’API sur leurs serveurs sont chiffrées de bout en bout, car il n’y a pas d’accès tiers au contenu entre les points de terminaison.

Certaines organisations peuvent choisir de déléguer la gestion du point de terminaison de leur API WhatsApp Business à un groupe de fournisseurs tiers de solutions professionnelles. Dans ce cas, les communications continuent à utiliser le chiffrement basé sur le protocole Signal. Cependant, l’utilisateur ayant choisi de faire appel à un tiers pour gérer son point de terminaison, WhatsApp ne considère pas que les messages sont chiffrés de bout en bout. Plus tard au cours de l’année 2021, ceci s’appliquera également aux entreprises qui choisissent d’utiliser la version de l’API hébergée dans le cloud par Facebook.

Enfin, sachez que si vous utilisez HTTPS pour passer des appels vers le client de l’API WhatsApp Business, ces données bénéficient du chiffrement SSL (de votre client backend vers le client de l’API WhatsApp Business).

Pour en savoir plus, consultez notre livre blanc WhatsApp Encryption Overview.

Non, vous ne pouvez disposer que d’un seul compte par instance. Si vous avez besoin d’un deuxième compte test, assurez-vous d’utiliser un numéro différent pour cette deuxième instance.

Non. Vous ne pouvez exécuter qu’une seule instance du client de l’API WhatsApp Business par numéro de téléphone. Dès que vous enregistrez une deuxième instance, votre première instance est rejetée et cessera de fonctionner. Nous travaillons actuellement sur une solution appropriée qui vous le permettra. Nous vous informerons de toutes les mises à jour.

Le client de l’API WhatsApp Business On-Premises nécessite une base de données pour stocker les clés de déchiffrement des messages envoyés entre une entreprise et ses clients. Sur WhatsApp, tous les messages sont chiffrés à l’aide des clés de l’expéditeur et du destinataire. Les clés des clients sont stockées sur leur appareil mobile et celles de l’entreprise dans sa base de données. En savoir plus sur la sécurité de WhatsApp.

L’API WhatsApp Business Cloud est une autre solution dans laquelle Meta héberge la base de données d’une entreprise. L’API Cloud vous permet d’implémenter des API WhatsApp Business sans le coût lié à l’hébergement de vos propres serveurs. En savoir plus

Non, il est pour l'instant impossible d’exécuter plusieurs numéros dans la même configuration du client de l’API WhatsApp Business. Nous travaillons actuellement sur une solution appropriée qui vous le permettra.

Yes, Whatsapp Flows can be sent with On-Premises API. You can learn more about Whatsapp Flows here, or learn how to get started with Whatsapp Flows and On-Premises API here.

Installation

Oui. Par défaut, le client de l’API WhatsApp Business tente de communiquer en utilisant chatd par le biais du port 5222. Pour une meilleure expérience, ouvrez le port 5222 pour tout le trafic sortant. Cela ne pose aucun problème de sécurité puisqu’il s’agit uniquement du trafic sortant de votre data center.

Si vous ne pouvez pas ouvrir le port 5222, le client de l’API WhatsApp Business tentera d’utiliser le port 443. Si votre pare-feu ou votre proxy met toujours fin aux connexions, veuillez vous adresser à l’équipe WhatsApp en posant une question par le biais de l’assistance directe afin de résoudre le problème.

Non, le client de l’API WhatsApp Business ouvre une connexion TCP sortante vers le port 5222 ou 443 sur les serveurs WhatsApp. Le trafic TCP s’achemine sur cette connexion de longue durée. Généralement, les pare-feu le définissent comme autorisant « le trafic sortant et le trafic établi ». Bien sûr, les paquets circuleront dans les deux sens une fois la connexion établie, mais le démarrage de la connexion provient du client de l’API WhatsApp Business, aucune règle autorisant les connexions entrantes n’est donc nécessaire.

Les prérequis dépendent de votre charge et de la situation. La solution fonctionnera sur toute machine connectée à Internet et exécutant Docker. Vous pouvez, par exemple, effectuer des tests simples sur un ordinateur portable.

Nous préconisons au minimum un SSD de 250 Go, 16 Go de RAM et un processeur 4 cœurs pour la configuration d’un serveur de production à instance unique. L’utilisation d’un disque dur n’est pas recommandée, car les vitesses d’entrée-sortie deviendront des goulots d’étranglement une fois le serveur en charge.

Nous préconisons au minimum un SSD de 50 Go, 4 Go de RAM et un processeur 2 cœurs pour chaque conteneur Coreapp/Master/Webapp pour la configuration d’un serveur de production Multiconnect.

Dans la plupart des cas, vous devrez exécuter la base de données sur un serveur physiquement séparé des conteneurs principaux et des conteneurs web. La latence entre le serveur de base de données et la ou les machines de calcul ne doit être que de quelques millisecondes.

Cette configuration prend en charge l’envoi d’environ 20 messages par seconde.

MySQL 5.7.x, PostgreSQL 9.5.x, 9.6.x et 10.x sont requises. L’utilisation d’une version précédente entraînera une erreur Unable to initialize config store.

Configurez MySQL localement à l’aide de Docker en suivant le guide Docker MySQL.

Configurez PostgreSQL localement à l’aide de Docker en suivant le guide Docker PostgreSQL.

Dans la plupart des cas, vous devrez exécuter la base de données sur un serveur physiquement séparé des conteneurs principaux et des conteneurs web. La latence entre le serveur de base de données et la ou les machines de calcul ne doit être que de quelques millisecondes.

Oui, la connexion TCP est nécessaire. Si votre entreprise ne peut pas ouvrir de ports supplémentaires, vous pouvez utiliser la terminaison SSL.

Pour en savoir plus, consultez la documentation sur la configuration réseau requise.

Gestion des données

MySQL et PostgreSQL sont pris en charge. Si vous exécutez Docker vous-même, vous devez fournir une base de données MySQL/PostgreSQL à laquelle les conteneurs peuvent se connecter. Une base de données MySQL est configurée par défaut lors de l’utilisation du modèle AWS.

Non, le client de l’API WhatsApp Business ne fonctionne pas sur Docker pour Windows pour le moment. À des fins de développement, la solution recommandée consiste à utiliser une machine virtuelle Linux et à y exécuter Docker. Pour les charges de travail de production, nous vous recommandons d’utiliser un serveur Linux pour éviter les problèmes de compatibilité et de performance.

Vous pouvez redémarrer les conteneurs Docker en exécutant le code suivant :

Conteneur Docker Coreapp

docker restart wacore<Current_WABA_Version>

Conteneur Webapp Docker

docker restart webapp<Current_WABA_Version>

Vous pouvez vérifier la version que vous utilisez actuellement avec

docker ps

Oui. La rotation des journaux pour les conteneurs Webapp et les conteneurs Coreapp diffère légèrement :

  • Webapp : les 30 derniers fichiers journaux seront conservés. Une rotation est effectuée uniquement si la taille est supérieure à 20 Mo.
  • Coreapp : les 30 derniers fichiers journaux seront conservés. Une rotation est effectuée uniquement si la taille est supérieure à 15 Mo. Les fichiers journaux ayant subi la rotation sont compressés.

Il existe un script pouvant être déclenché en externe afin de nettoyer les anciens journaux d’un conteneur :

docker exec CONTAINER_NAME /opt/whatsapp/bin/cleanup.sh

Le script fonctionne avec les conteneurs Webapp et Coreapp. L’exécution du script permet de supprimer les anciens fichiers journaux afin qu’il ne reste que 30 fichiers journaux du conteneur.

Il est possible que votre système ralentisse à mesure que l’espace de stockage se remplisse. Cela peut être dû à de nombreux fichiers multimédias, messages et fichiers journaux volumineux. La rotation des fichiers journaux est automatique, mais s’ils commencent à devenir volumineux, vous pouvez les supprimer en toute sécurité.

Les message sont stockés dans la base de données. Vous pouvez supprimer des messages si nécessaire. De plus, si le pass_through est défini sur false dans les paramètres de l’application, tous les messages sont enregistrés dans la base de données jusqu’à ce qu’ils soient explicitement supprimés.

Les fichiers multimédias que les utilisateurs vous envoient sont téléchargés sur les volumes multimédias. Il appartient à l’entreprise de décider quels fichiers multimédias supprimer. Il est généralement plus prudent de supprimer tous les fichiers multimédias. Vous pouvez utiliser docker inspect your-container-id pour vérifier l’emplacement du dossier volume multimédia.

Oui, la base de données peut être utilisée différemment sans toucher aux tables liées à WhatsApp.

Les tables de la base de données stockent les informations relatives aux paramètres de l’application, aux fils de discussion, aux messages, aux fichiers multimédias, etc. qui sont tous requis par l’application pour fonctionner.

v2.25.x améliore les performances en sortie et en entrée par rapport aux versions précédentes. Cette optimisation repose sur la création de connexions supplémentaires à la base de données. Pour certains déploiements, cela peut entraîner lʼaugmentation du nombre de connexions à la base de données et les limites de connexion peuvent être atteintes. Afin de préserver ce gain de performances, vous pouvez augmenter le nombre maximal de connexions à la base de données acceptées par votre serveur. Si ce nʼest pas possible, vous pouvez changer le paramètre axolotl_context_striping_disabled afin de désactiver ce comportement. Pour savoir comment procéder, consultez la documentation sur les paramètres des applications.

Le collecteur de déchets nettoie régulièrement les tables messages et messages_reciept_log pour faciliter la gestion de la base de données.

Certains messages sont conservés pour garantir leur diffusion ou leur traitement. Par exemple, le collecteur de déchets peut conserver un message entrant pendant une période donnée afin que les intégrations professionnelles puissent le marquer comme lu.

Coreapp exécute la collecte des déchets de manière aléatoire (à quelques heures dʼintervalle), afin dʼéviter les conflits et leurs conséquences pour les performances des piles Haute disponibilité.

La collecte des déchets est indépendante de la file dʼattente de rappels. Par exemple, si le serveur Webhook est indisponible pendant quatre jours, les rappels sont stockés et seront distribués quand le serveur Webhook sera de nouveau connecté.

Utilisez le point de terminaison services de l’API destiné à la collecte des déchets dans la base de données pour effacer les messages et les accusés de réception correspondants des tables messageStore.messages et messageStore.messages_receipt_log.

Inscription

Si vous sauvegardez votre configuration actuelle et la restaurez sur le nouvel ordinateur, les informations d’enregistrement devraient être transférées avec le reste de votre implémentation. Consultez la documentation Paramètres de sauvegarde et de restauration pour plus d’informations.

Authentification

La déconnexion d’un utilisateur par le biais du point de terminaison users désactivera tous les tokens d’authentification attribués à ce compte. Supprimer un utilisateur aura le même effet, bien que cela soit plus radical. Gardez à l’esprit que la connexion d’un utilisateur par le biais du point de terminaison users renverra un nouveau token d’authentification mais ne désactivera pas les tokens d’authentification déjà en circulation pour cet utilisateur. Toute personne en possession d’un token préalablement configuré pourra continuer à l’utiliser jusqu’à son expiration ou sa désactivation par le biais de l’une des méthodes mentionnées précédemment.

Envoi de messages

Remarque : n’envoyez pas le même message plusieurs fois au même destinataire via l’API WhatsApp Business.

Plusieurs raisons peuvent expliquer que le taux de distribution ne soit pas de 100 %. Parmi les plus fréquentes, le fait que les utilisateur·ices accèdent au réseau de manière sporadique, ou qu’ils ou elles soient inactifs ou inactives pendant un certain temps. Autre raison : pour créer une expérience d’utilisation de qualité.

Les messages pouvant être distribués avec WhatsApp auront un taux de distribution très élevé. Cependant, un message peut ne pas être distribué pour de nombreuses raisons. Vous aurez accès au statut exact d’un message en surveillant vos rappels. Cela diffère de l’envoi de messages par texto, par exemple, car vous n’avez pas accès au statut final de distribution, et le fait de renvoyer le message peut produire un résultat différent.

Les messages peuvent ne pas être distribués parce que le téléphone ou la batterie de l’utilisateur·ice ne fonctionne pas, ou parce qu’il ou elle a désactivé sa carte SIM suite à la perte de son téléphone. Il est possible que le client professionnel ait des difficultés à se connecter au réseau. Il est également possible que les rappels (Webhooks) ne soient pas distribués. Vous pouvez surveiller ces situations en utilisant le nœud health. Vous pouvez activer les rappels d’accusé de réception du serveur pour savoir si le message a atteint le cloud du serveur WhatsApp.

Si un·e utilisateur·ice se reconnecte au réseau, tous les messages que vous avez envoyés lui seront distribués. Recevoir plusieurs fois le même message peut créer une gêne pour les utilisateur·ices. Ils ou elles seront alors davantage susceptibles de vous bloquer ou de se plaindre et vous risquez plus d’être banni.

Si vous envoyez un message et recevez un ID de message de l’API, vous avez fait le nécessaire pour envoyer ce message. Ne renvoyez pas le même contenu au même destinataire.

Si vous constatez de faibles taux de distribution sur une période prolongée, ouvrez un ticket avec l’Assistance directe.

Lorsque vous envoyez un message, dès que vous recevez un identifiant de message, cela signifie que la demande de message a été enregistrée dans la base de données. Le client de l’API WhatsApp Business continuera d’essayer d’envoyer ce message jusqu’à ce que le serveur WhatsApp en accuse réception. Ce processus n’est pas limité dans le temps. Le serveur WhatsApp tentera ensuite de distribuer ce message au téléphone de l’utilisateur. Si le téléphone de l’utilisateur n’est pas en ligne, le message sera stocké pendant 30 jours avant d’être abandonné par le serveur WhatsApp.

Pour le moment, il n’existe aucun moyen de savoir combien d’utilisateurs ou quels utilisateurs ont bloqué votre entreprise. Le meilleur indicateur serait d’écouter les rappels de statut et si vous ne recevez pas le statut delivered, soit l’utilisateur a bloqué votre entreprise soit il n’est pas connecté au réseau. Consultez la documentation Webhook pour plus d’informations.

Si un utilisateur a bloqué votre entreprise, l’API Contacts continuera d’indiquer que ce numéro de téléphone est un utilisateur WhatsApp valide. Cependant, lorsque vous enverrez le message, il ne sera pas distribué. S’il s’agit d’un message payant, vous ne serez pas facturé.

Pour le consommateur normal, cela est lié à la conception de l'application, dans le cas où l'expéditeur ne fait pas partie de votre carnet d'adresses et que vous ne lui avez pas envoyé de message par le passé. Concernant l'entreprise, celle-ci doit utiliser des modèles de message lorsqu'elle contacte un utilisateur pour la première fois afin d'établir une relation de confiance. Ce faisant, le client de l'API WhatsApp Business se conformera au paramètre de téléchargement automatique intégré à l'application.

Pour le consommateur normal, cela est lié à la conception de l’application dans le cas ou l’expéditeur ne fait pas partie de votre carnet d’adresses et que vous ne lui avez pas envoyé de message par le passé. Concernant l’entreprise, celle-ci doit utiliser des modèles de message lorsqu’elle contacte un utilisateur pour la première fois afin d’établir une relation de confiance. Ce faisant, le client de l’API WhatsApp Business sera alors en mesure d’afficher le lien et de le rendre cliquable.

Bien sûr ! Contactez votre représentant WhatsApp et envoyez-lui votre demande.

Non, l’ordre dans lequel les messages arrivent n’est pas nécessairement le même que lors de l’envoi. Si l’ordre est essentiel à votre cas d’utilisation, l’approche suggérée est d’écouter le rappel distribué du premier message avant d’envoyer le deuxième message.

Lorsque vous utilisez le nœud messages, vous devez définir l’en-tête Content-Type sur application/json pour le client de l’API WhatsApp Business afin d’analyser correctement le corps du message. Un en-tête Authorization doit également être défini et doit contenir un token d’accès non expiré. Consultez la documentation Connexion et authentification pour plus d’informations sur la façon d’obtenir votre token et savoir quand il expire.

Oui, envoyez un appel d’API au nœud contacts avant d’envoyer un message. Les informations provenant de la vérification des contacts sont mises en cache dans le conteneur, ne pas le faire peut entraîner une erreur Unkown Contact. Consultez la documentation Contacts pour plus d’informations.

If there is a delay in a subset of numbers, then it is likely not an issue affecting the customers integration but rather an issue on the recipients end, these delays in delivery can happen for a number of reasons. See Send Message Performance, Delays for more information.

No this is not possible. Numbers that are registered under WABAs (WhatsApp Business Accounts) can only message regular WhatsApp accounts.

Médias

Il nʼy a aucun mécanisme de nettoyage pour les fichiers multimédias sortants ou entrants. Vous pouvez supprimer vos fichiers multimédias manuellement en les localisant sur votre système de fichiers.

Pour trouver le point de montage de votre volume multimédia, vous pouvez exécuter une commande docker.

Demande

docker volume inspect whatsappMedia

Réponse

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

Pour voir tous vos fichiers multimédia entrants, vous pouvez exécuter la commande ls avec le chemin du fichier Mountpoint reçu :

ls /var/lib/docker/volumes/whatsappMedia/_data/

Pour la configuration AWS, le volume multimédia est monté sur le chemin /mnt/wa/media sur l’hôte.

La taille maximale d’importation de fichier est de 64 Mo, cette limite s’applique donc également à toute image, à tout document ou à toute vidéo que vous envoyez dans un message.

C’est à vous de décider quand supprimer un fichier multimédia.

Après avoir importé un fichier multimédia, vous recevrez un identifiant de fichier multimédia que vous pourrez utiliser pour envoyer un message qui inclut l’élément multimédia importé. Lors de l’envoi du message contenant un fichier multimédia, l’API WhatsApp Business va chiffrer et importer le fichier multimédia sur les serveurs WhatsApp où il restera pendant 14 jours. Vous pouvez ensuite décider de supprimer le fichier multimédia en fournissant son identifiant ou de le conserver pour une utilisation ultérieure. Bien que nous vous recommandions de conserver les fichiers multimédias pendant 30 jours, c’est à vous de décider de la politique de conservation en fonction de la politique ou du cas d’utilisation de votre entreprise.

Pour les images, la légende sera ajoutée en tant que description. La légende apparaît en entier pour les images sur Android et sur iPhone.

Pour les documents, la légende remplace le nom du fichier. Elle n’est pas destinée à être affichée sur l’appareil de l’utilisateur sous la forme d’un texte de description mais plutôt à afficher le nom du fichier. L’iPhone affiche le texte complet tandis qu’Android tronque le nom du fichier. Il s’agit d’une limitation technique de l’implémentation actuelle de WhatsApp sur les deux appareils.

Lors de l’envoi d’images sous forme dʼalbum à partir de l’API WhatsApp Business, vous devrez envoyer au moins quatre images successives. Si la vue conversation de l’utilisateur est activée lors de la réception des images, la vue album est indisponible jusqu’à la prochaine consultation.

Si l’un des critères suivants est rempli, l’album ne sera pas créé :

  1. Les images contiennent des légendes.
  2. Séparateur non lu : l’utilisateur ne voit que certaines images.
  3. En-tête contenant la date : un jour entre chaque envoi.

Non, AWS EFS est actuellement incontournable pour partager le volume multimédia entre Coreapp et Webapp.

Non. Pour l’instant, il n’est pas possible de modifier le chemin par défaut de stockage des contenus multimédias (/usr/local/wamedia/). Tous les contenus multimédias doivent être stockés à cet emplacement par défaut afin de fonctionner correctement.

Modèles de message

Elle est actuellement de 7 jours. Si un cache n’a pas été mis à jour depuis plus de 7 jours, il extraira le dernier pack de langue du serveur, que l’élément existe déjà ou non dans le pack.

Veuillez noter que la règle en matière de langue fallback est obsolète à partir de v2.27.8 et que la règle en matière de langue deterministic est désormais la règle par défaut.

Si vous créez une traduction dans une nouvelle langue, vous devez traduire tous les éléments que vous utilisez dans cette langue. Sinon, vous risquez d’obtenir des erreurs « structure indisponible » car le téléphone du destinataire ne pourra pas trouver l’élément dont il a besoin pour la langue dans laquelle il est paramétré. Ces erreurs de « structure indisponible » apparaissent lors de l’envoi de messages associés à un modèle utilisant la règle fallback.

Si vous ne pouvez pas créer de traductions pour le moment, vous pouvez utiliser une règle deterministic pour éviter ces erreurs.

Webhooks

Le client de l’API WhatsApp Business vous envoie les rappels Webhook par le biais du conteneur Coreapp. Par conséquent, votre point de terminaison Webhook doit être configuré pour pouvoir accepter les requêtes entrantes provenant du Coreapp.

Si un Webhook ne parvient pas à envoyer un rappel, le rappel est placé dans une file d’attente de relance. Tout rappel envoyé après l’échec du rappel initial ne sera pas reçu. Ce n’est qu’après le succès du rappel initial que le reste s’enverra.

Si un évènement Webhook n’est pas distribué pour quelque raison que ce soit (p. ex. si le client est hors ligne) ou si la demande Webhook renvoie un code d’état HTTP autre que 200, nous retenterons la distribution Webhook. Nous continuerons à retenter la distribution avec des délais de plus en plus importants jusqu’à un certain délai d’expiration (généralement 24 heures, bien que cela puisse varier) ou jusqu’à ce que la distribution soit réussie.

Les messages en double peuvent être envoyés à un Webhook WhatsApp. En effet, la seule garantie fournie étant que les messages soient reçus au moins une fois (au lieu d’une seule et unique fois). Si cela affecte le traitement des messages de votre côté, nous vous suggérons de dédupliquer les messages Webhook en fonction de l’identifiant du message.

Vérifiez à nouveau vos paramètres d’application pass_through. Vous ne recevrez pas de rappel avec le statut lu si vous avez activé pass_through avec le client de l’API WhatsApp Business v2.29.1 ou ultérieur.

Pour recevoir un rappel avec le statut lu, désactivez le paramètre d’application pass_through. Notez que lorsque pass_through est désactivé, l’espace de stockage de la base de données peut augmenter rapidement. Pour en savoir plus, consultez la documentation sur la gestion de la base de données.

Erreurs

Cela est dû à un bug dans une ancienne version du client iOS. Nous nous attendons à ce que les erreurs diminuent au fil du temps à mesure que le nombre de personne augmente.

Tout d’abord, vérifiez les rappels pour déceler les erreurs critiques afin de diagnostiquer le problème.

Si l’erreur « Conflit : plusieurs instances partageant le même numéro ont été détectées » s’affiche, vous devez vérifier vos conteneurs. Plusieurs conteneurs Docker tentant de se connecter aux serveurs WhatsApp à l’aide du même compte WhatsApp est la cause la plus probable. Assurez-vous de n’avoir qu’un seul conteneur en état de fonctionnement. Si vous disposez de vieux conteneurs, fermez-les et l’erreur disparaîtra.

Consultez la documentation Haute disponibilité si vous souhaitez tester notre solution de haute disponibilité plus complexe.

Il s’agit d’un problème connu. La mise à niveau du client de l'API WhatsApp Business à l'aide des scripts CloudFormation nécessite parfois la mise à jour de la pile de la base de données RDS. La nouvelle pile RDS n'aura pas le même nom d'hôte que la pile d'origine et les conteneurs Docker ne pourront pas se connecter à la base de données. La solution consiste à utiliser SSH avec l'instance EC2 créée par CloudFormation et à mettre à jour le fichier whatsapp.conf avec le nouveau nom d'hôte, puis à redémarrer les conteneurs Docker afin qu'ils disposent des nouveaux paramètres.

Cette erreur se produit lorsque la base de données n’a pas été configurée correctement.

  • Assurez-vous d’utiliser soit MySQL 5.7 ou une version ultérieure, soit PostgreSQL 9.5.x, 9.6.x, 10.x.
  • Le mot de passe de votre base de données ne doit contenir aucun des caractères suivants : ?{}&~!()^.
  • Si vous utilisez AWS, assurez-vous que le nom de votre pile soit court. Consultez la documentation Installation de l’API WhatsApp Business pour plus d’informations.

Cela se produit si le pont Docker est corrompu. La meilleure solution consiste à arrêter le service Docker et à le redémarrer. Vous pouvez également essayer docker restart sur vos conteneurs.

Une erreur « connexion refusée » signifie probablement que le Coreapp ne fonctionne pas. Utilisez docker ps pour savoir si le Coreapp fonctionne. Si ce n’est pas le cas, vérifiez les journaux Docker. Il se peut que le Coreapp ne puisse pas se connecter à la base de données. Assurez-vous que votre base de données est correctement configurée.

Il peut y avoir plusieurs raisons. Votre Coreapp est peut-être en panne ou votre base de données n’a pas été configurée correctement. Si ce n’est pas le cas, veuillez consulter vos journaux Coreapp (ou les journaux Coreapp maîtres si vous utilisez Multiconnect). Si vous constatez des erreurs de connexion à la base de données, il est probable que votre base de données nécessite davantage de connexions. Consultez la documentation MySQL ou la documentation PostgreSQL concernant cette erreur.

Nous vous recommandons d’augmenter le nombre de connexions à votre base de données. Nous estimons que 1 000 connexions à la base de données devraient être suffisantes, cependant cette décision éclairée vous revient. Si l’erreur persiste, veuillez contacter l’assistance.

Si cette erreur s’affiche mais que le paramètre obligatoire manquant auquel elle fait référence est défini dans votre corps JSON, il pourrait s’agir d’une erreur d’analyse JSON. Cette erreur peut se produire lorsque la totalité de la charge utile JSON est impossible à analyser à cause d’erreurs de formatage JSON. Vérifiez les valeurs de ces paramètres pour les caractères JSON non valides, par exemple un retour à la ligne à la fin. Parfois les paramètres peuvent être copiés avec des espaces supplémentaires qui peuvent contenir des caractères qui cassent JSON.

Les erreurs de type « structure indisponible » s’affichent lorsque le téléphone ne peut pas lire le message associé à un modèle.

Les modèles sont stockés sur le serveur. Lorsqu’un message associé à un modèle est envoyé à l’aide du nœud messages ,seuls les paramètres localisés, l’espace de nom, la langue et le nom de l’élément sont envoyés au téléphone. Le message n’est pas envoyé dans son intégralité. Une fois ces valeurs transmises au téléphone, celui-ci tente d’afficher le message.

Si une erreur se produit lors de l’affichage, une erreur de type structure indisponible est envoyée à l’URL de rappel qui contient le destinataire et l’ID du message. Ces erreurs peuvent être dues à un espace de nom ou un nom d’élément incorrect, une incohérence dans les paramètres localisés, etc.

Accédez au Gestionnaire WhatsApp dans Facebook Business Manager pour voir le nombre correct de paramètres. Vérifiez que l’espace de nom est correct et que le nom de l’élément existe.

Une des sources d’erreurs courantes est l’absence de traductions pour l’ensemble des modèles utilisés. Par exemple, si vous envoyez régulièrement deux modèles et que vous ajoutez une nouvelle langue de traduction pour l’un de ces modèles, vous devez veiller à ajouter également cette langue traduction à l’autre modèle. Si vous envisagez de prendre en charge plusieurs langues, vous devez fournir des traductions dans toutes les langues prises en charge pour tous les modèles.

Fort heureusement, les erreurs structure indisponible sont généralement dues à des erreurs dans l’appel d’API messages et peuvent être résolues en modifiant la charge utile d’envoi.

Vous devez d’abord vérifier que le contact existe avant d’envoyer un message. Pour savoir comment procéder, consultez la documentation Contacts.

Cette erreur est due au fait que le Coreapp n'est pas encore initialisé. Il est possible que l'enregistrement n'ait pas abouti. Veuillez essayer de vous enregistrer avant de passer un appel vers un autre point de terminaison. La première étape après l'installation de WhatsApp Business API est la connexion. La deuxième étape est l'enregistrement. Ces deux étapes sont nécessaires avant d'envoyer une demande à tout autre point de terminaison.

Toutes les versions du client de l’API WhatsApp Business ont une expiration de six mois à compter de la date de sortie. Si cette erreur s’affiche, effectuez une mise à niveau vers la dernière version sortie dès que possible.

WhatsApp réalise des essais pour mesurer et comprendre l’impact des notifications de l’API Whatsapp Business sur l’expérience utilisateur et le produit en général. Si l’utilisateur que vous essayez de contacter fait partie de l’un de ces essais, il est possible qu’il ne reçoive pas de notifications de votre part même s’il a accepté de les recevoir.

Si une erreur similaire à celle qui suit apparaît lors de la configuration de votre déploiement AWS, essayez de choisir un nom de pile qui utilise huit caractères au maximum.

Nom du pays (code à deux lettres) [AU] : nom de l'état ou de la province (nom complet) [exemple d'état] : nom de la localité (p. ex. ville) [] : nom de l'entreprise (p. ex. entreprise) [Internet Widgits Pty Ltd] : nom de l'unité administrative (p. ex. service) [] : nom commun (p. ex. serveur FQDN ou votre nom) [] : la chaîne est trop longue, sa longueur doit être inférieure à 64 octets nom commun (p. ex. serveur FQDN ou votre nom) [] : adresse e-mail [] : erreur, aucun objet spécifié dans le fichier de configuration problèmes lors d'une demande de certificat clé de périphérique créée pour internal-wa-inc-name-LB-123456789.ap-southeast-1.elb.amazonaws.com

Un objet profile vide est renvoyé si le profil professionnel n’est que partiellement rempli. Veuillez effectuer une mise à niveau vers v2.21.4 pour résoudre ce problème.

Consultez la documentation Paramètres du profil professionnel pour obtenir plus d’informations sur la manière de remplir votre profil professionnel.

Le code d’erreur 471 concerne les limites de débit basées sur la qualité. Consultez la documentation sur les limites de débit basées sur la qualité pour plus d’informations.

Voici quelques exemples d’erreurs de validation du modèle de message côté envoi et leurs raisons :

  • « Aucun modèle de message n’existe dans la langue votre langue. » ou « Aucun modèle de message n’existe dans la langue votre langue et dans les paramètres régionaux vos paramètres régionaux. ». Le pack de langue donné n’existe pas. Vérifiez votre compte Business Manager.
  • « Le modèle le nom de votre modèle n’existe pas dans la langue votre langue. » ou « Le modèle le nom de votre modèle n’existe pas dans la langue votre langue et dans les paramètres régionaux vos paramètres régionaux. ». Vous essayez d’utiliser un modèle qui n’existe pas (qui n’a pas encore été créé ou qui n’a pas encore été approuvé). Si vous essayez d’envoyer un message avec un modèle qui a été supprimé, cette erreur apparaîtra également.
  • « Le nombre de paramètres localisables num1 ne correspond pas au nombre de paramètres num2 attendus ». Vous essayez d’envoyer un modèle de message associé à un modèle avec des paramètres qui ne correspondent pas au nombre de paramètres attendus. Veuillez vérifier l’exactitude de votre appel d’API.
  • « le nom de votre modèle est un modèle enrichi et nécessite l’API de modèle de message pour être utilisé ». Vous essayez d’envoyer un modèle de message multimédia comme un modèle de message normal. Vérifiez que le type du message est template. Pour en savoir plus, consultez la documentation sur les modèles de messages multimédias.
  • Une fois les modèles approuvés dans Business Manager (ou supprimés), l’envoi des modèles mis à jour au client de l’API WhatsApp Business peut prendre jusqu’à 20 minutes. Si vous essayez d’envoyer un message avec un modèle qui vient d’être approuvé et qu’une erreur précisant que le modèle n’existe pas s’affiche, essayez de renvoyer le message après le délai d’attente indiqué.

Pour la version 2.21.6 du client de l’API WhatsApp Business, lorsque le client est déconnecté du serveur, cela peut durer quelques minutes (jusqu’à 4 minutes) avant de pouvoir se reconnecter à nouveau. La mise à niveau vers la version 2.23.4 permettra de réduire les temps d’arrêt d’un client lorsqu’il tente de se connecter au serveur.

Avant la v2.29.x, la taille de la file d’attente des messages sortants pouvait augmenter avec le temps à cause d'un bug. Effectuez une mise à niveau vers v2.29.3 pour résoudre ce problème.

Le Coreapp va vérifier qu’il reste au moins 10 Mo de stockage dans les répertoires /usr/local/waent/data et /usr/local/waent/log de son conteneur. Si ce n’est pas le cas, il renvoie cette erreur critique.

Consultez vos journaux et votre répertoire de données pour vous assurer que vous disposez d’un espace suffisant.

Autres

Il n’existe aucun moyen pour le moment. Si vous n’êtes pas capable de gérer les réponses entrantes de vos utilisateurs sur WhatsApp, nous vous suggérons d’envoyer un message de réponse automatique les redirigeant vers vos canaux d’assistance appropriés.

Vous devez enregistrer un deuxième numéro de téléphone et créer une seconde pile CloudFormation ou une seconde instance Docker à des fins de test. Si vous avez deux clients de l’API WhatsApp Business actifs utilisant le même numéro de téléphone, le serveur vous expulsera car les clés de chiffrement seront en conflit. Nous vous recommandons de disposer d’un deuxième environnement que vous pouvez utiliser pour tester votre instance de non production avant toute migration sur votre client de production.

Vérifier l’état ne coûte rien et peut être réalisé aussi souvent que nécessaire.

Consultez la documentation Statistiques pour en savoir plus sur l’application et les statistiques de la base de données que vous pouvez interroger. Les statistiques d’application sont stockées dans la mémoire et les requêtes sont peu coûteuses. Les statistiques de base de données nécessitent davantage de ressources et ne doivent être interrogées qu’en cas de besoin.

Votre entreprise n’est pas informée lorsqu’un client change de numéro de téléphone WhatsApp. Lorsque vous utiliserez le nœud contacts, le statut de ce numéro sera invalid.

Si le numéro de téléphone d’un client devient inactif mais qu’il utilise toujours WhatsApp, le client continuera d’avoir accès à WhatsApp jusqu’à ce que le numéro de téléphone soit réattribué ou réenregistré.

WhatsApp veille à s’assurer qu’un numéro de téléphone fourni est réellement associé à un téléphone. Le fait qu’un utilisateur possède un compte WhatsApp prouve qu’il a confirmé le numéro et que personne d’autre n’a utilisé ce numéro pour s’enregistrer sur WhatsApp ultérieurement. Cependant, cela ne garantit pas l’emplacement physique de la carte SIM.

D’autre part, si le téléphone d’un utilisateur est perdu ou volé, il peut désactiver son compte WhatsApp. Pour en savoir plus sur la façon dont les utilisateurs peuvent désactiver leur compte, consultez la section Téléphones perdus et volés des Questions/réponses.

Non, il n’y a aucun moyen d’utiliser l’API WhatsApp Business pour détecter si plusieurs appareils utilisent le même numéro.

La charge utile d’un message provenant d’un utilisateur peut être un fichier texte ou un fichier multimédia.

Pour les fichiers texte, aucun danger n’a été identifié.

Pour les fichiers multimédias :

  • En général, les entreprises disposent d’un logiciel de protection (antivirus, anti-malware, etc.) pour analyser les menaces potentielles.
  • WhatsApp n’est pas en mesure d’identifier ou de vérifier le contenu d’un fichier transféré, car il est chiffré de bout en bout (c’est également le cas pour un fichier texte).
  • Il existe une option permettant d’empêcher le téléchargement automatique des fichiers multimédias dans le client de l’API WhatsApp Business. Si l’entreprise ne souhaite pas recevoir de fichiers de la part des utilisateurs, elle peut définir le champ auto_download sur un tableau vide.

Veuillez contacter l’assistance et transmettre toutes les informations dont vous disposez. Nous enquêterons et nous désactiverons tous les faux numéros.

Depuis la version 2.18.26, le point de terminaison des statistiques de l’application permet d’exporter des indicateurs internes au format texte Prometheus. Consultez la documentation Surveillance d’une instance pour plus d’informations.

Le client de l’API WhatsApp Business On-Premises nécessite une base de données pour stocker les clés de déchiffrement des messages envoyés entre une entreprise et ses clients. Sur WhatsApp, tous les messages sont chiffrés à l’aide des clés de l’expéditeur et du destinataire. Les clés des clients sont stockées sur leur appareil mobile et celles de l’entreprise dans sa base de données. En savoir plus sur la sécurité de WhatsApp.

L’API WhatsApp Business Cloud est une autre solution dans laquelle Meta héberge la base de données d’une entreprise. L’API Cloud vous permet d’implémenter des API WhatsApp Business sans le coût lié à l’hébergement de vos propres serveurs. En savoir plus