Aller au contenu
OmniChannels.ai

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.

Mis à jour le 8 min de lecture

Par OmniChannels.ai Editorial Team · Relu par BroadNet Messaging Solutions Team

WhatsApp

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
  1. Où apparaissent les erreurs de WhatsApp Cloud API ?
  2. Quels sont les codes d'erreur WhatsApp les plus courants ?
  3. Comment corriger les erreurs à l'origine de la plupart des campagnes en échec ?
  4. Une politique de relance que vous pouvez implémenter
  5. Exemple concret : la promotion en échec d'un distributeur de Riyad
  6. Erreurs courantes et limites assumées
  7. 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 error avec code, message, type et souvent error_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: failed avec un tableau errors. 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.

  1. Journalisez le code, le titre, error_data.details, l'identifiant du message, le destinataire et le nom du modèle.
  2. Ne réessayez jamais 131050, 131021, 132016, 368 et 131031. Signalez immédiatement 368 et 131031 à un administrateur.
  3. 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.
  4. Appliquez un backoff puis réessayez pour 130429, 4, 80007, 131016 et 131057, avec un backoff exponentiel plafonné.
  5. Changez de canal ou de type de message pour 131047 (modèle) et 131026 (SMS ou e-mail).
  6. Attendez 24 heures ou plus pour 131049 et revoyez la fréquence des campagnes.
  7. 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

  1. Codes d'erreur — WhatsApp Cloud API, Meta for Developers
  2. Référence du webhook de statut des messages — Meta for Developers
  3. À propos de la plateforme : limites de débit et chiffrement — Meta for Developers