Codici di errore WhatsApp Cloud API: significato e soluzioni
I codici di errore più comuni della WhatsApp Cloud API, da 131047 e 131026 a 132001 e 130429: che cosa significano, come risolverli e quando non riprovare.
Di OmniChannels.ai Editorial Team · Revisione di BroadNet Messaging Solutions Team
Risposta breve
Gli errori della WhatsApp Cloud API rientrano in poche famiglie: autorizzazione (0, 190, 10), integrità (368, 131031), limitazione della frequenza (4, 80007, 130429, 131048, 131049, 131056), problemi di template (da 132000 a 132016), problemi del destinatario (131026, 131047, 131050) e problemi della richiesta (131008, 131009). Leggete il codice e i dettagli di error_data, poi decidete: correggere e riprovare, attendere e riprovare, passare a un template o a un altro canale, oppure non riprovare mai.
In questa pagina
- Dove compaiono gli errori della WhatsApp Cloud API?
- Quali sono i codici di errore WhatsApp più comuni?
- Come risolvere gli errori che causano la maggior parte delle campagne fallite?
- Una policy di nuovo tentativo che potete implementare
- Esempio pratico: la promozione fallita di un rivenditore di Riyadh
- Errori comuni e limiti onesti
- Come vi aiuta OmniChannels.ai
Punti chiave
- L'errore 131047 indica che la finestra di assistenza clienti di 24 ore si è chiusa; inviate un template approvato invece di un messaggio libero.
- L'errore 131050 indica che l'utente ha interrotto i messaggi di marketing; Meta dice di non riprovare.
- L'errore 131049 è un limite di marketing per singolo utente; Meta consiglia di attendere almeno 24 ore prima di reinviare.
- Gli errori 132000 e 132012 sono quasi sempre discordanze nel numero o nel formato delle variabili rispetto al template approvato.
- Alcuni errori vengono restituiti in modo sincrono nella risposta dell'API; altri arrivano più tardi nei webhook di stato con stato failed, quindi dovete registrare entrambi.
Questa guida è pensata per sviluppatori e team operativi di messaggistica che vedono messaggi WhatsApp non riusciti e devono capire in fretta se correggere la richiesta, attendere, cambiare tipo di messaggio o fermarsi. Ogni codice qui sotto è stato verificato rispetto al riferimento dei codici di errore della Cloud API di Meta; codici e formulazioni cambiano, quindi confermate su quella pagina prima di codificare la logica.
Dove compaiono gli errori della WhatsApp Cloud API?
Gli errori compaiono in due punti e dovete catturarli entrambi. Gli errori di richiesta tornano subito nella risposta dell'API; gli errori di consegna arrivano più tardi in un webhook di stato.
- Errori sincroni. La richiesta di invio viene rifiutata e la risposta contiene un oggetto
errorconcode,message,typee spessoerror_data.details. Esempi tipici sono token scaduti, parametri mancanti e discordanze con il template. - Errori asincroni. La richiesta di invio ha successo e restituisce un ID messaggio, ma un webhook successivo segnala
status: failedcon un arrayerrors. Esempi tipici sono finestre di assistenza chiuse, destinatari non raggiungibili e limiti di marketing.
Un errore comune è registrare solo la risposta HTTP. I team credono allora che una campagna sia riuscita perché ogni richiesta ha restituito un ID messaggio, mentre centinaia di messaggi sono falliti nei webhook. Per capire come si collegano gli stati, vedi sent, delivered, read e failed spiegati.
Quali sono i codici di errore WhatsApp più comuni?
La tabella elenca i codici che la maggior parte dei team incontra, raggruppati per ciò che dovete fare dopo. Le descrizioni parafrasano il riferimento di Meta.
| Codice | Significato | Soluzione | Riprovare? |
|---|---|---|---|
| 0 | Impossibile autenticare l'utente dell'app; token scaduto o revocato | Generare un nuovo token di accesso | Dopo la correzione |
| 190 | Il token di accesso è scaduto | Usare un token di utente di sistema senza scadenza, aggiornare | Dopo la correzione |
| 3, 10, 200–299 | Autorizzazione o funzionalità mancante | Verificare le autorizzazioni del token nell'access token debugger | Dopo la correzione |
| 368 | WABA limitato o disabilitato per violazione delle policy | Rivedere l'applicazione delle policy in WhatsApp Manager; fare ricorso se errato | No |
| 131031 | Account bloccato, ad esempio per mancata verifica di policy o dati | Controllare lo stato di salute dell'account; risolvere con Meta | No |
| 4 | L'app ha raggiunto il limite di chiamate API | Ridurre il volume di richieste; controllare l'App Dashboard | Sì, più tardi |
| 80007 | Il WABA ha raggiunto il limite di frequenza | Ridurre il volume di richieste; riprovare più tardi | Sì, più tardi |
| 130429 | Throughput della Cloud API raggiunto per il numero | Mettere in coda e rallentare l'invio | Sì, con backoff |
| 131048 | Limite per spam: restrizioni sui messaggi da questo numero | Controllare la qualità in WhatsApp Manager; migliorare contenuti e targeting | Non subito |
| 131049 | Non consegnato "per mantenere un coinvolgimento sano dell'ecosistema" | Attendere almeno 24 ore prima di reinviare | Non entro 24 ore |
| 131056 | Troppi messaggi allo stesso destinatario in poco tempo | Distanziare i messaggi a quell'utente | Sì, più tardi |
| 131000 | Errore sconosciuto | Riprovare; aprire un ticket di assistenza se persiste | Sì, in misura limitata |
| 131016 | Servizio temporaneamente non disponibile | Controllare la pagina di stato di Meta; riprovare | Sì, con backoff |
| 131008 | Parametro obbligatorio mancante | Confrontare il payload con il riferimento dell'endpoint | Dopo la correzione |
| 131009 | Valore del parametro non valido | Controllare i valori, ad esempio formato del numero di telefono o ID | Dopo la correzione |
| 131021 | Mittente e destinatario sono lo stesso numero | Inviare a un numero diverso | No |
| 131026 | Impossibile consegnare il messaggio | Verificare il numero, chiedere all'utente di aggiornare WhatsApp o usare un altro canale | Non così com'è |
| 131042 | Problema con il metodo di pagamento | Correggere la fatturazione: conto di pagamento, linea di credito, valuta | Dopo la correzione |
| 131045 / 133010 | Numero non registrato sulla piattaforma | Registrare il numero di telefono aziendale | Dopo la correzione |
| 131047 | Più di 24 ore dall'ultima risposta dell'utente | Inviare un template approvato | Come template |
| 131050 | L'utente ha interrotto i messaggi di marketing | Non riprovare; rispettare la preferenza | Mai |
| 131051 | Tipo di messaggio non supportato | Usare un tipo supportato | Dopo la correzione |
| 131052 | Impossibile scaricare il media inviato dall'utente | Chiedere all'utente di reinviarlo | n/a |
| 131053 | Impossibile caricare il media nel vostro messaggio | Controllare tipo MIME, dimensione e URL | Dopo la correzione |
| 131057 | Account in modalità di manutenzione | Attendere; può accadere durante un aumento di throughput | Sì, più tardi |
| 132000 | Il numero di variabili non corrisponde al template | Inviare esattamente il numero di parametri definito | Dopo la correzione |
| 132001 | Template mancante in quella lingua o non approvato | Controllare nome, codice lingua e stato | Dopo la correzione |
| 132005 | Testo tradotto troppo lungo | Accorciare la traduzione del template | Dopo la correzione |
| 132007 | Il contenuto del template viola le policy | Modificare secondo le regole di revisione dei template | Dopo la correzione |
| 132012 | Valori delle variabili formattati in modo errato | Rispettare il formato atteso | Dopo la correzione |
| 132015 | Template messo in pausa per bassa qualità | Modificare il contenuto per migliorare la qualità | Dopo la modifica |
| 132016 | Template disabilitato in modo permanente dopo ripetute pause | Creare un nuovo template con contenuto diverso | No |
| 135000 | Errore sconosciuto sui parametri della richiesta | Controllare la sintassi della richiesta; contattare l'assistenza | Dopo la correzione |
Come risolvere gli errori che causano la maggior parte delle campagne fallite?
In pratica, pochi codici causano la maggior parte dei fallimenti. Ognuno ha una regola decisionale chiara.
131047: la finestra di assistenza è chiusa
Il cliente ha scritto l'ultima volta più di 24 ore fa. Testo libero, media e messaggi interattivi sono consentiti solo all'interno della finestra di assistenza clienti di 24 ore; fuori da essa dovete usare un template approvato; vedi la finestra di assistenza clienti di 24 ore. Gli agenti incappano spesso in questo errore rispondendo a una chat vecchia. Mostrate agli agenti lo stato della finestra e offrite un selettore di template quando è scaduta.
131026: messaggio non consegnabile
Partite dall'igiene dei numeri: formato internazionale, prefisso corretto, nessuno zero iniziale dopo il prefisso. Poi accettate che alcuni numeri semplicemente non sono su WhatsApp, o hanno una versione dell'app obsoleta. Per i messaggi urgenti come gli OTP, ripiegate sugli SMS. Vedi WhatsApp vs SMS vs RCS.
131049 e 131050: limiti di marketing e disiscrizioni
Entrambi riguardano i messaggi di marketing. 131050 è la scelta esplicita dell'utente di interrompere il marketing; escludeteli dal marketing e sottoscrivete il webhook delle preferenze utente di Meta. 131049 significa che Meta ha scelto di non consegnare per proteggere il coinvolgimento degli utenti; Meta consiglia di attendere almeno 24 ore e tentativi più ravvicinati probabilmente falliranno di nuovo. Riducete la frequenza e migliorate la pertinenza invece di reinviare.
130429, 131048 e 131056: invio troppo veloce o eccessivo
130429 riguarda il throughput: mettete i messaggi in coda e applicate il backoff. 131056 riguarda la coppia mittente-destinatario: state scrivendo troppo spesso a una persona. 131048 è un segnale di qualità sul numero mittente e richiede una correzione di contenuti e targeting, non un nuovo tentativo. Vedi limiti di messaggistica e quality rating.
132000, 132001 e 132012: discordanze nei template
Quasi sempre si tratta di bug di integrazione. Il nome del template, il codice lingua (ad esempio ar rispetto a en_US) e il numero di variabili devono corrispondere esattamente a quanto approvato. Create un test che invii ogni template con valori di esempio ogni volta che lo modificate.
Una policy di nuovo tentativo che potete implementare
Usate questa checklist per classificare automaticamente ogni fallimento.
- Registrate codice, titolo,
error_data.details, ID messaggio, destinatario e nome del template. - Non riprovate mai 131050, 131021, 132016, 368 e 131031. Segnalate subito 368 e 131031 a un amministratore.
- Correggete e poi riprovate gli errori di autorizzazione (0, 190, 10), di parametri (131008, 131009, 135000), di template (da 132000 a 132015) e di fatturazione (131042). Avvisate il team responsabile.
- Applicate backoff e riprovate 130429, 4, 80007, 131016 e 131057 con backoff esponenziale e un tetto.
- Cambiate canale o tipo di messaggio per 131047 (template) e 131026 (SMS o email).
- Attendete 24 ore o più per 131049 e rivedete la frequenza delle campagne.
- Riportate i fallimenti per codice nei report delle campagne, non come un unico totale "failed".
Esempio pratico: la promozione fallita di un rivenditore di Riyadh
Un esempio di fantasia. "Najd Home" invia un template di marketing a 20.000 clienti che hanno dato il consenso. L'API accetta ogni richiesta, ma i webhook di stato mostrano circa 1.400 fallimenti.
Raggruppati per codice, il quadro è chiaro. Il gruppo più grande è 131049, quindi il team rimuove quegli utenti dai due invii successivi e riduce la frequenza settimanale. Un gruppo più piccolo è 131026; l'analisi mostra molti numeri memorizzati con uno zero iniziale locale, che una correzione di normalizzazione risolve. Diversi utenti 131050 vengono esclusi in modo permanente dal marketing. Alcuni errori 130429 derivavano dalla raffica iniziale, quindi l'invio ora è dosato tramite una coda.
Errori comuni e limiti onesti
- Trattare ogni fallimento come ritentabile. Spreca denaro e può abbassare la qualità.
- Codificare i testi di Meta. Meta aggiorna titoli e descrizioni; basate la logica sul codice numerico e mantenete una tabella di corrispondenza aggiornabile.
- Ignorare
error_data.details. Indica spesso il parametro difettoso esatto. - Non ogni fallimento ha una soluzione. Alcuni destinatari non sono raggiungibili su WhatsApp e Meta non spiega ogni decisione 131049. Pianificate un canale alternativo.
Come vi aiuta OmniChannels.ai
OmniChannels.ai, basato su BroadNet Technologies, offre ai team rapporti di consegna in viste di sintesi e avanzate, con filtri ed esportazione CSV, così i messaggi falliti possono essere analizzati per campagna. Il fallback tra canali può reinviare tramite RCS o SMS quando WhatsApp fallisce, e i template hanno un'anteprima su mock-up di telefono e un monitoraggio dell'approvazione, riducendo gli errori di discordanza. I webhook segnalano gli stati FAILED e REJECTED in un unico formato normalizzato, e la documentazione per sviluppatori pubblica comprende un riferimento su errori e limiti.
Domande frequenti
Che cosa significa l'errore WhatsApp 131047?
L'errore 131047 significa che sono passate più di 24 ore da quando il destinatario ha scritto l'ultima volta al vostro numero, quindi la finestra di assistenza clienti è chiusa. Testo libero, media e messaggi interattivi non sono più consentiti. Inviate invece un template approvato, idealmente un template di utilità che inviti il cliente a rispondere: quando risponde, la finestra si riapre.
Perché ricevo l'errore 131026 anche se il numero è su WhatsApp?
Meta descrive 131026 come impossibilità di consegnare. Le cause includono un numero non presente su WhatsApp, un destinatario che non ha accettato le condizioni più recenti o una versione obsoleta di WhatsApp. Anche un prefisso internazionale errato o un formato locale sono una causa frequente. Convalidate il numero in formato internazionale, chiedete al cliente di aggiornare l'app oppure usate SMS o email.
Qual è la differenza tra 130429 e 131056?
130429 significa che il vostro numero ha raggiunto il limite di throughput della Cloud API, quindi state inviando troppo velocemente in generale; rallentate e mettete in coda. 131056 significa che avete inviato troppi messaggi allo stesso destinatario in poco tempo; gli altri destinatari non sono interessati. Risolvete 130429 con il controllo della frequenza e 131056 distanziando i messaggi a quel singolo utente.
Devo riprovare automaticamente i messaggi WhatsApp non riusciti?
Solo per gli errori transitori come 131000 (sconosciuto), 131016 (servizio non disponibile), 130429 (throughput) e 4 o 80007 (limiti di frequenza), con backoff esponenziale. Non riprovate mai automaticamente 131050 (disiscrizione dal marketing), 131026 senza modificare qualcosa, errori di template o restrizioni di policy 368. I tentativi alla cieca sprecano denaro, irritano gli utenti e possono danneggiare la qualità.
Dove posso vedere i dettagli completi dell'errore?
Gli errori sincroni tornano nella risposta dell'API con code, message ed error_data. I fallimenti asincroni arrivano nel webhook dei messaggi con stato failed, con un array errors che riporta codice, titolo e dettagli. Registrate l'intero oggetto, non solo il codice, perché il campo dei dettagli indica spesso il parametro esatto o il problema del media.
Fonti
Continuate a leggere
Altre guideWhatsApp
WhatsApp Business API o Business App: quale vi serve davvero?
WhatsApp Business API e Business App a confronto: multi-agente, campagne, integrazioni, limiti e costi, con una checklist per decidere quando passare all'API.
8 min di lettura
WhatsApp
Checklist per scegliere un BSP WhatsApp: 25 domande da fare
Checklist per scegliere un Business Solution Provider WhatsApp: 25 domande su trasparenza dei prezzi, costi Meta, attivazione, assistenza, API, dati e uscita.
9 min di lettura
Omnicanale
Strategia di fallback tra canali: WhatsApp, RCS e SMS
Come progettare una strategia di fallback tra WhatsApp, RCS e SMS: trigger, timeout per tipo di messaggio, prevenzione dei duplicati, consenso e costi.
12 min di lettura
