Codes d'erreur WhatsApp Cloud API : signification et solutions
Les codes d'erreur WhatsApp Cloud API les plus fréquents, de 131047 et 131026 à 132001 et 130429 : leur sens, comment les corriger et quand ne pas réessayer.
Par OmniChannels.ai Editorial Team · Relu par BroadNet Messaging Solutions Team
Réponse courte
Les erreurs de WhatsApp Cloud API se répartissent en quelques familles : autorisation (0, 190, 10), intégrité (368, 131031), limitation de débit (4, 80007, 130429, 131048, 131049, 131056), problèmes de modèle (132000 à 132016), problèmes de destinataire (131026, 131047, 131050) et problèmes de requête (131008, 131009). Lisez le code et le détail de error_data, puis décidez : corriger et réessayer, attendre et réessayer, passer à un modèle ou à un autre canal, ou ne jamais réessayer.
Sur cette page
- Où apparaissent les erreurs de WhatsApp Cloud API ?
- Quels sont les codes d'erreur WhatsApp les plus courants ?
- Comment corriger les erreurs à l'origine de la plupart des campagnes en échec ?
- Une politique de relance que vous pouvez implémenter
- Exemple concret : la promotion en échec d'un distributeur de Riyad
- Erreurs courantes et limites assumées
- Comment OmniChannels.ai vous accompagne
Points clés
- L'erreur 131047 signifie que la fenêtre de service client de 24 heures est fermée ; envoyez un modèle approuvé plutôt qu'un message libre.
- L'erreur 131050 signifie que l'utilisateur a cessé de recevoir des messages marketing ; Meta demande de ne pas réessayer.
- L'erreur 131049 est une limite marketing par utilisateur ; Meta conseille d'attendre au moins 24 heures avant de renvoyer.
- Les erreurs 132000 et 132012 sont presque toujours dues à un nombre de variables ou à un format qui ne correspond pas au modèle approuvé.
- Certaines erreurs sont renvoyées de façon synchrone dans la réponse de l'API ; d'autres arrivent plus tard dans les webhooks de statut avec le statut failed : il faut donc journaliser les deux.
Ce guide s'adresse aux développeurs et aux équipes d'exploitation de la messagerie qui constatent des échecs d'envoi WhatsApp et doivent savoir rapidement s'il faut corriger la requête, attendre, changer de type de message ou s'arrêter. Chaque code ci-dessous a été vérifié dans la référence des codes d'erreur de Meta pour Cloud API ; les codes et leur libellé évoluent, confirmez donc auprès de cette page avant de figer une logique dans votre code.
Où apparaissent les erreurs de WhatsApp Cloud API ?
Les erreurs apparaissent à deux endroits, et il faut capturer les deux. Les erreurs de requête reviennent immédiatement dans la réponse de l'API ; les erreurs de livraison arrivent plus tard dans un webhook de statut.
- Erreurs synchrones. La requête d'envoi est rejetée et la réponse contient un objet
erroraveccode,message,typeet souventerror_data.details. Exemples typiques : jetons expirés, paramètres manquants et incohérences avec le modèle. - Erreurs asynchrones. La requête d'envoi réussit et renvoie un identifiant de message, mais un webhook ultérieur signale
status: failedavec un tableauerrors. Exemples typiques : fenêtres de service fermées, destinataires injoignables et limites marketing.
Une erreur fréquente consiste à ne journaliser que la réponse HTTP. L'équipe croit alors qu'une campagne a réussi parce que chaque requête a renvoyé un identifiant de message, alors que des centaines de messages ont échoué dans les webhooks. Pour comprendre la relation entre les statuts, voir envoyé, délivré, lu et échoué expliqués.
Quels sont les codes d'erreur WhatsApp les plus courants ?
Le tableau liste les codes que la plupart des équipes rencontrent, classés selon la suite à donner. Les descriptions paraphrasent la référence de Meta.
| Code | Signification | Solution | Réessayer ? |
|---|---|---|---|
| 0 | Impossible d'authentifier l'utilisateur de l'application ; jeton expiré ou révoqué | Générer un nouveau jeton d'accès | Après correction |
| 190 | Le jeton d'accès a expiré | Utiliser un jeton d'utilisateur système sans expiration, l'actualiser | Après correction |
| 3, 10, 200–299 | Autorisation ou capacité manquante | Vérifier les autorisations du jeton dans l'outil de débogage de jetons | Après correction |
| 368 | WABA restreint ou désactivé pour violation de politique | Consulter l'application des politiques dans WhatsApp Manager ; faire appel en cas d'erreur | Non |
| 131031 | Compte verrouillé, par exemple échec de vérification de politique ou de données | Vérifier l'état de santé du compte ; résoudre avec Meta | Non |
| 4 | L'application a atteint sa limite d'appels d'API | Réduire le volume de requêtes ; consulter l'App Dashboard | Oui, plus tard |
| 80007 | Le WABA a atteint sa limite de débit | Réduire le volume de requêtes ; réessayer plus tard | Oui, plus tard |
| 130429 | Débit maximal de Cloud API atteint pour le numéro | Mettre en file d'attente et ralentir l'envoi | Oui, avec backoff |
| 131048 | Limite de débit liée au spam : restrictions sur les messages de ce numéro | Vérifier la qualité dans WhatsApp Manager ; améliorer le contenu et le ciblage | Pas immédiatement |
| 131049 | Non délivré « pour maintenir un engagement sain dans l'écosystème » | Attendre au moins 24 heures avant de renvoyer | Pas avant 24 h |
| 131056 | Trop de messages au même destinataire en peu de temps | Espacer les messages envoyés à cet utilisateur | Oui, plus tard |
| 131000 | Erreur inconnue | Réessayer ; ouvrir un ticket de support si elle persiste | Oui, de façon limitée |
| 131016 | Service temporairement indisponible | Consulter la page d'état de Meta ; réessayer | Oui, avec backoff |
| 131008 | Paramètre obligatoire manquant | Comparer la charge utile à la référence du point d'accès | Après correction |
| 131009 | Valeur de paramètre invalide | Vérifier les valeurs, par exemple le format du numéro ou les identifiants | Après correction |
| 131021 | L'expéditeur et le destinataire sont le même numéro | Envoyer à un autre numéro | Non |
| 131026 | Impossible de livrer le message | Vérifier le numéro, demander à l'utilisateur de mettre à jour WhatsApp, ou utiliser un autre canal | Pas en l'état |
| 131042 | Problème de moyen de paiement | Corriger la facturation : compte de paiement, ligne de crédit, devise | Après correction |
| 131045 / 133010 | Numéro non enregistré sur la plateforme | Enregistrer le numéro de téléphone professionnel | Après correction |
| 131047 | Plus de 24 heures depuis la dernière réponse de l'utilisateur | Envoyer un modèle approuvé | Sous forme de modèle |
| 131050 | L'utilisateur a cessé de recevoir les messages marketing | Ne pas réessayer ; respecter sa préférence | Jamais |
| 131051 | Type de message non pris en charge | Utiliser un type pris en charge | Après correction |
| 131052 | Impossible de télécharger le média envoyé par l'utilisateur | Demander à l'utilisateur de le renvoyer | n/a |
| 131053 | Impossible de téléverser le média de votre message | Vérifier le type MIME, la taille et l'URL | Après correction |
| 131057 | Compte en mode maintenance | Attendre ; peut survenir lors d'une hausse de débit | Oui, plus tard |
| 132000 | Le nombre de variables ne correspond pas au modèle | Envoyer exactement le nombre de paramètres défini | Après correction |
| 132001 | Modèle absent dans cette langue ou non approuvé | Vérifier le nom, le code de langue et le statut | Après correction |
| 132005 | Texte traduit trop long | Raccourcir la traduction du modèle | Après correction |
| 132007 | Le contenu du modèle enfreint la politique | Modifier selon les règles de validation des modèles | Après correction |
| 132012 | Valeurs de variables mal formatées | Respecter le format attendu | Après correction |
| 132015 | Modèle suspendu pour faible qualité | Modifier le contenu pour améliorer la qualité | Après modification |
| 132016 | Modèle désactivé définitivement après des suspensions répétées | Créer un nouveau modèle au contenu différent | Non |
| 135000 | Erreur inconnue sur les paramètres de la requête | Vérifier la syntaxe de la requête ; contacter le support | Après correction |
Comment corriger les erreurs à l'origine de la plupart des campagnes en échec ?
En pratique, une poignée de codes cause l'essentiel des échecs. Chacun obéit à une règle de décision claire.
131047 : la fenêtre de service est fermée
Le client a écrit pour la dernière fois il y a plus de 24 heures. Les messages texte libres, les médias et les messages interactifs ne sont autorisés que dans la fenêtre de service client de 24 heures ; au-delà, il faut utiliser un modèle approuvé ; voir la fenêtre de service client de 24 heures. Les conseillers y sont souvent confrontés en répondant à une ancienne conversation. Affichez-leur l'état de la fenêtre et proposez un sélecteur de modèles lorsqu'elle a expiré.
131026 : message non livrable
Commencez par l'hygiène des numéros : format international, indicatif pays correct, pas de zéro initial après l'indicatif. Acceptez ensuite que certains numéros ne soient tout simplement pas sur WhatsApp, ou utilisent une ancienne version de l'application. Pour les messages urgents comme les OTP, basculez sur le SMS. Voir WhatsApp, SMS et RCS.
131049 et 131050 : limites marketing et désinscriptions
Les deux concernent les messages marketing. 131050 est le choix explicite de l'utilisateur de ne plus en recevoir ; excluez ces utilisateurs du marketing et abonnez-vous au webhook de préférences utilisateur de Meta. 131049 signifie que Meta a choisi de ne pas livrer pour protéger l'engagement des utilisateurs ; Meta conseille d'attendre au moins 24 heures, et des relances plus rapprochées échoueront probablement encore. Réduisez la fréquence et améliorez la pertinence plutôt que de renvoyer.
130429, 131048 et 131056 : envoyer trop vite ou trop
130429 est une limite de débit : mettez les messages en file d'attente et appliquez un backoff. 131056 se joue au niveau de la paire : vous écrivez trop souvent à une même personne. 131048 est un signal de qualité sur le numéro expéditeur et appelle une correction du contenu et du ciblage, pas une relance. Voir limites de messagerie et note de qualité.
132000, 132001 et 132012 : incohérences de modèle
Ce sont presque toujours des bogues d'intégration. Le nom du modèle, le code de langue (par exemple ar plutôt que en_US) et le nombre de variables doivent correspondre exactement à ce qui a été approuvé. Mettez en place un test qui envoie chaque modèle avec des valeurs d'exemple à chaque modification.
Une politique de relance que vous pouvez implémenter
Utilisez cette checklist pour classer chaque échec automatiquement.
- Journalisez le code, le titre,
error_data.details, l'identifiant du message, le destinataire et le nom du modèle. - Ne réessayez jamais 131050, 131021, 132016, 368 et 131031. Signalez immédiatement 368 et 131031 à un administrateur.
- Corrigez, puis réessayez les erreurs d'autorisation (0, 190, 10), de paramètres (131008, 131009, 135000), de modèle (132000 à 132015) et de facturation (131042). Alertez l'équipe responsable.
- Appliquez un backoff puis réessayez pour 130429, 4, 80007, 131016 et 131057, avec un backoff exponentiel plafonné.
- Changez de canal ou de type de message pour 131047 (modèle) et 131026 (SMS ou e-mail).
- Attendez 24 heures ou plus pour 131049 et revoyez la fréquence des campagnes.
- Reportez les échecs par code dans les rapports de campagne, et non sous un seul total « échec ».
Exemple concret : la promotion en échec d'un distributeur de Riyad
Exemple fictif. « Najd Home » envoie un modèle marketing à 20 000 clients ayant donné leur consentement (opt-in). L'API accepte chaque requête, mais les webhooks de statut font apparaître environ 1 400 échecs.
Une fois regroupée par code, la situation est claire. Le plus gros groupe est 131049 : l'équipe retire ces utilisateurs des deux envois suivants et réduit la fréquence hebdomadaire. Un groupe plus petit relève de 131026 ; l'analyse montre que de nombreux numéros sont enregistrés avec un zéro initial local, ce qu'une correction de normalisation résout. Plusieurs utilisateurs en 131050 sont exclus définitivement du marketing. Quelques erreurs 130429 venaient de la rafale initiale ; l'envoi est désormais cadencé par une file d'attente.
Erreurs courantes et limites assumées
- Considérer chaque échec comme réessayable. Cela gaspille du budget et peut dégrader la qualité.
- Figer les textes de Meta dans le code. Meta met à jour titres et descriptions ; appuyez la logique sur le code numérique et tenez une table de correspondance que vous pouvez mettre à jour.
- Ignorer
error_data.details. Il désigne souvent le paramètre fautif exact. - Tout échec n'a pas de solution. Certains destinataires ne sont pas joignables sur WhatsApp, et Meta n'explique pas chaque décision 131049. Prévoyez un canal alternatif.
Comment OmniChannels.ai vous accompagne
OmniChannels.ai, propulsé par BroadNet Technologies, met à disposition des rapports de livraison en vues synthétique et avancée, avec filtres et export CSV, pour analyser les messages en échec par campagne. Le repli entre canaux peut renvoyer le message par RCS ou SMS en cas d'échec sur WhatsApp, et les modèles sont prévisualisés sur une maquette de téléphone et suivis jusqu'à leur approbation, ce qui réduit les erreurs d'incohérence. Les webhooks remontent les statuts FAILED et REJECTED dans un format normalisé unique, et la documentation développeurs publique comprend une référence des erreurs et limites.
Questions fréquentes
Que signifie l'erreur WhatsApp 131047 ?
L'erreur 131047 signifie que plus de 24 heures se sont écoulées depuis le dernier message du destinataire à votre numéro : la fenêtre de service client est fermée. Les messages texte libres, les médias et les messages interactifs ne sont plus autorisés. Envoyez un modèle approuvé, idéalement un modèle utilitaire invitant le client à répondre, ce qui rouvre la fenêtre dès qu'il répond.
Pourquoi l'erreur 131026 apparaît-elle alors que le numéro est sur WhatsApp ?
Meta décrit 131026 comme une impossibilité de livrer le message. Les causes possibles : un numéro absent de WhatsApp, un destinataire qui n'a pas accepté les dernières conditions d'utilisation ou une version de WhatsApp obsolète. Un indicatif pays erroné ou un format local sont aussi des coupables fréquents. Validez le numéro au format international, demandez au client de mettre à jour l'application, ou utilisez le SMS ou l'e-mail.
Quelle est la différence entre 130429 et 131056 ?
130429 signifie que votre numéro a atteint sa limite de débit sur Cloud API : vous envoyez trop vite dans l'ensemble ; ralentissez et mettez en file d'attente. 131056 signifie que vous avez envoyé trop de messages au même destinataire en peu de temps ; les autres destinataires ne sont pas touchés. Corrigez 130429 par un contrôle du débit, et 131056 en espaçant les messages envoyés à cet utilisateur.
Faut-il réessayer automatiquement les messages WhatsApp en échec ?
Uniquement pour les erreurs transitoires comme 131000 (inconnue), 131016 (service indisponible), 130429 (débit) et 4 ou 80007 (limites de débit), avec un backoff exponentiel. Ne réessayez jamais automatiquement 131050 (désinscription du marketing), 131026 sans rien changer, les erreurs de modèle ou les restrictions de politique 368. Les relances aveugles font perdre de l'argent, irritent les utilisateurs et peuvent nuire à la qualité.
Où trouver le détail complet d'une erreur ?
Les erreurs synchrones reviennent dans la réponse de l'API avec code, message et error_data. Les échecs asynchrones arrivent dans le webhook messages avec le statut failed et un tableau errors contenant le code, le titre et les détails. Journalisez l'objet complet, pas seulement le code, car le champ details désigne souvent le paramètre ou le média précis en cause.
Sources
À lire aussi
Autres guidesWhatsApp
API WhatsApp Business ou appli Business : que choisir ?
API WhatsApp Business ou appli WhatsApp Business : multi-agents, campagnes, intégrations, limites et coûts comparés, avec une checklist pour décider.
8 min de lecture
WhatsApp
Choisir un BSP WhatsApp Business : checklist en 25 questions
Checklist pour choisir un BSP WhatsApp Business : 25 questions sur la transparence tarifaire, les frais Meta, l'onboarding, le support, les API et la sortie.
9 min de lecture
Marketing
Commerce conversationnel : vendre par chat, de bout en bout
Guide du commerce conversationnel : vendre par chat, de la découverte au paiement et à l'aide humaine, avec architecture, liens de paiement et KPI.
8 min de lecture
