Stiamo disattivando l'API On-Premises. Consulta il nostro documento Disattivazione API On-Premises per i dettagli e per scoprire come eseguire la migrazione alla nostra API Cloud di nuova generazione.

FAQ sull'API On-Premises

Visita la pagina di stato della piattaforma WhatsApp Business per le informazioni più recenti sulle interruzioni della piattaforma.

Primi passi

WhatsApp considera le comunicazioni con gli utenti dell'API Business che gestiscono l'endpoint API sui server che controllano come crittografate end-to-end poiché non vi è accesso di terze parti al contenuto tra gli endpoint.

Alcune organizzazioni possono scegliere di delegare la gestione del proprio endpoint API di WhatsApp Business a un fornitore di soluzioni aziendali di terze parti. In questi casi, la comunicazione utilizza ancora la stessa crittografia del protocollo Signal. Tuttavia, poiché l'utente dell'API di WhatsApp Business ha scelto una terza parte per gestire il proprio endpoint, WhatsApp non considera questi messaggi crittografati end-to-end. In futuro, nel 2021, ciò si applicherà anche alle aziende che scelgono di sfruttare la versione basata su cloud dell'API ospitata da Facebook.

Inoltre, se utilizzi HTTPS quando effettui chiamate al client API di WhatsApp Business, tali dati sono sottoposti a crittografia SSL (dal client backend al client API di WhatsApp Business).

Consulta il nostro whitepaper tecnico Panoramica sulla crittografia di WhatsApp per maggiori informazioni.

No, puoi eseguire un singolo account per istanza. Se hai bisogno di un secondo account di test, assicurati di utilizzare un numero diverso per la seconda istanza.

NO! In qualsiasi momento, puoi avere solo un'istanza del client API WhatsApp Business in esecuzione per un singolo numero di telefono. Non appena registri una seconda istanza, la prima istanza verrà disconnessa e non andrà a buon fine. Stiamo lavorando a una soluzione adeguata che ti permetta di raggiungere questo obiettivo. Ti terremo informato di eventuali aggiornamenti.

Il client dell'API On-Premises di WhatsApp Business ha bisogno di un database in cui archiviare le chiavi per decrittografare i messaggi scambiati tra un'azienda e i clienti. Tutti i messaggi su WhatsApp sono crittografati con le chiavi del mittente e del destinatario. Le chiavi dei clienti sono memorizzate sul loro dispositivo mobile, quelle dell'azienda nel database dell'azienda. Scopri di più sulla Sicurezza di WhatsApp.

L'API Cloud di WhatsApp Business è un'alternativa in cui Meta ospita un database aziendale. L'API Cloud consente di implementare le API di WhatsApp Business senza il costo dell'hosting di server propri. Scopri di più.

No. Al momento non è possibile usare più numeri nella stessa configurazione del client API di WhatsApp Business. Stiamo lavorando a una soluzione adeguata che lo consentirà in futuro.

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.

Installazione

Sì. per impostazione predefinita, il client API di WhatsApp Business tenta di comunicare utilizzando chatd sulla porta 5222. Per garantire un'esperienza ottimale, apri la porta 5222 per tutto il traffico in uscita. Ciò non costituisce un problema di sicurezza poiché il traffico è solo in uscita dal tuo data center.

Se non riesci ad aprire la porta 5222, il client API di WhatsApp Business tenta di utilizzare la porta 443. Se il tuo firewall o proxy continua a interrompere le connessioni, contatta il team di WhatsApp inviando una domanda tramite l'Assistenza diretta per ricevere supporto per il debug.

No. Il client API WhatsApp Business apre una connessione TCP in uscita alla porta 5222 o 443 sui server WhatsApp. Il traffico TCP viene trasmesso su questa connessione di lunga durata. Normalmente nei firewall viene classificata come "autorizzazione al traffico in uscita e al traffico stabilito". Naturalmente, i pacchetti andranno avanti e indietro una volta stabilita la connessione, ma l'inizio della connessione proviene dal client API WhatsApp Business, quindi non è necessaria una regola che consenta connessioni in entrata.

I requisiti dipendono dal saldo dati e dalla situazione. La soluzione verrà eseguita su qualsiasi computer connesso a Internet che esegua Docker. Ad esempio, è possibile eseguire semplici test su un computer portatile.

Per la configurazione del server in produzione a istanza singola, si raccomanda almeno un SSD da 250 GB, 16 GB di RAM e CPU a 4 core. Non è consigliato l'uso dell'HDD in quanto le velocità di I/O subiscono un rallentamento sotto carico.

Per la configurazione del server di produzione Multiconnect, è raccomandato almeno un SSD da 50 GB, 4 GB di RAM e CPU 2 core per ogni container Coreapp/Master/Webapp.

Nella maggior parte dei casi devi eseguire il database su un server fisico separato dai container coreapp e webapp. Tra il server di database e le macchine di calcolo dovrebbero intercorrere solo pochi millisecondi di latenza.

Questa configurazione supporta l'invio di circa 20 messaggi al secondo.

Le versioni richieste sono MySQL 5.7.x, PostgreSQL 9.5.x, 9.6.x, 10.x. L'uso di una versione precedente genererà l'errore Unable to initialize config store.

Configura MySQL localmente usando Docker seguendo la guida MySQL Docker.

Configura PostgreSQL localmente usando Docker seguendo la guida PostgreSQL Docker.

Nella maggior parte dei casi devi eseguire il database su un server fisico separato dai container coreapp e webapp. Tra il server di database e le macchine di calcolo dovrebbero intercorrere solo pochi millisecondi di latenza.

Una lista di elementi consentiti può essere creata con nomi host o indirizzi IP.

Consulta la sezione Nomi host della documentazione Requisiti di rete per ulteriori informazioni.

Sì, è necessaria la connessione TCP. Se la tua azienda non è in grado di aprire porte aggiuntive, puoi utilizzare la connessione SSL terminata.

Consulta la documentazione sui Requisiti di rete per maggiori informazioni.

Gestione dei dati

Sono supportati MySQL e PostgreSQL. Se esegui Docker autonomamente, devi fornire un database MySQL/PostgreSQL per i container a cui connettersi. L'uso del modello AWS configura un database MySQL per impostazione predefinita.

No. Attualmente, il client API WhatsApp Business non funziona su Docker per Windows. Per esigenze di sviluppo, l'utilizzo di una macchina virtuale Linux e l'esecuzione di Docker al suo interno è la soluzione consigliata. Per i carichi di lavoro di produzione, è consigliabile utilizzare un server Linux per evitare problemi di compatibilità e prestazioni.

Puoi riavviare i container Docker eseguendo il codice seguente:

Container Docker Coreapp

docker restart wacore<Current_WABA_Version>

Container Docker Webapp

docker restart webapp<Current_WABA_Version>

Puoi verificare quale versione stai utilizzando con

docker ps

Sì, la rotazione dei registri per i container Webapp e Coreapp ha comportamenti leggermente diversi:

  • Webapp: verranno conservati gli ultimi 30 file di registro. Il file di registro viene ruotato solo se ha una dimensione superiore a 20 MB.
  • Coreapp: verranno conservati gli ultimi 30 file di registro. Il file di registro viene ruotato solo se ha una dimensione superiore a 15 MB. I file ruotati vengono compressi.

Esiste uno script che può essere attivato esternamente per ripulire i vecchi registri di un container:

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

Lo script funziona con i container Webapp e Coreapp. Eseguendo lo script, i vecchi file di registro vengono rimossi e rimangono solo 30 file di registro del container.

Il sistema potrebbe iniziare a rallentare all'aumentare dello spazio riempito. Ciò può essere causato dalla presenza di molti file multimediali, messaggi e file di registro di grandi dimensioni. I file di registro vengono ruotati automaticamente, ma se iniziano a diventare grandi, eliminarli è più sicuro.

I messaggi sono archiviati nel database. Puoi eliminare i messaggi se necessario. Inoltre, se pass_through è impostato su false nelle impostazioni dell'app, tutti i messaggi vengono salvati nel database fino a quando non vengono eliminati esplicitamente.

I file multimediali che gli utenti ti inviano vengono scaricati nei volumi dei contenuti multimediali. Spetta all'azienda decidere quali file multimediali eliminare, ma è generalmente sicuro eliminare qualsiasi file multimediale. Puoi usare docker inspect your-container-id per verificare dove si trova la cartella del volume dei contenuti multimediali.

Sì, il database può essere utilizzato in altri modi senza toccare le tabelle relative a WhatsApp.

Le tabelle del database memorizzano le informazioni relative alle impostazioni dell'app, ai thread della chat, ai messaggi, ai contenuti multimediali, ecc., tutte necessarie affinché l'app funzioni correttamente.

v2.25.x migliora le prestazioni in uscita e in entrata rispetto alle versioni precedenti. Questa ottimizzazione si basa sulla creazione di ulteriori connessioni al database. Per alcune distribuzioni, ciò può far aumentare il numero di connessioni al database in modo tale da raggiungere i limiti configurati. Per mantenere le prestazioni migliori, è possibile aumentare il numero massimo di connessioni che il server di database può accettare. Se ciò non è possibile, puoi modificare il parametro axolotl_context_striping_disabled per disabilitare questo comportamento. Consulta la documentazione Impostazioni dell'applicazione per maggiori informazioni su come apportare questa modifica.

La database garbage collection ripulisce periodicamente le tabelle messages e messages_reciept_log per facilitare la gestione del database.

Il garbage collector conserva alcuni messaggi per consentire la corretta consegna/elaborazione. Ad esempio, conservare il messaggio in arrivo per un certo periodo di tempo per consentire alle integrazioni aziendali di contrassegnare il messaggio come letto.

Coreapp esegue la garbage collection a intervalli casuali (ovvero, a intervalli di alcune ore). Ciò serve a prevenire il potenziale degrado delle prestazioni negli stack ad alta disponibilità a causa di conflitti di database.

La garbage collection è indipendente dalla coda di callback. Ad esempio, se il server Webhook non è disponibile per 4 giorni, i callback verranno archiviati per essere consegnati quando verrà ripristinata la connettività del server Webhook.

Usa l'endpoint API services della database garbage collection per eliminare i messaggi e le ricevute corrispondenti dalle tabelle messageStore.messages e messageStore.messages_receipt_log.

Registrazione

Se esegui il backup della configurazione corrente e la ripristini sul nuovo dispositivo, le informazioni di registrazione dovrebbero essere trasferite con il resto dell'implementazione. Consulta la documentazione su backup e ripristino delle impostazioni per ulteriori informazioni.

Autenticazione

La disconnessione di un utente tramite l'endpoint users invaliderà tutti i token di autenticazione assegnati a quell'account. L'eliminazione di un utente avrà lo stesso effetto, sebbene sia molto più drastico. Ricorda che l'accesso di un utente tramite l'endpoint users restituirà un nuovo token di autenticazione, ma non invaliderà i token di autenticazione già in circolazione per quell'utente. Chiunque sia in possesso di un token fornito precedentemente potrà continuare a utilizzarlo fino alla scadenza o all'annullamento tramite uno dei metodi precedentemente menzionati.

Invio di messaggi

Nota: non inviare più volte lo stesso messaggio allo stesso destinatario utilizzando l'API WhatsApp Business.

I motivi per cui le percentuali di consegna non sono del 100% possono essere molteplici. Alcuni casi comuni includono utenti con accesso sporadico alla rete o inattivi per un certo periodo di tempo, oppure uno stimolo a creare un' esperienza utente di più alta qualità.

I messaggi che possono essere consegnati con WhatsApp avranno una percentuale di consegna molto elevata. Tuttavia, ci sono molte ragioni per cui un messaggio potrebbe non essere recapitato. Avrai accesso allo stato esatto di un messaggio monitorando le tue callback. Questo non vale nel caso di invio di messaggi con SMS, ad esempio, dove non hai accesso allo stato finale consegnato e reinviare il messaggio potrebbe in effetti produrre un risultato diverso.

I messaggi potrebbero non essere recapitati perché il telefono di un utente è fuori servizio, scarico oppure è stato smarrito e, in attesa di prenderne uno nuovo, ha disabilitato la scheda SIM. È possibile che ci siano errori nella capacità del client aziendale di connettersi alla rete. È anche possibile che le callback (webhook) non vengano consegnate. Puoi monitorare queste situazioni utilizzando il nodo health. Puoi attivare le callback di ricezione del server per avere conferma che il messaggio sia arrivato nel cloud del server WhatsApp.

Se e quando un utente si riconnette alla rete, tutti i messaggi inviati verranno recapitati. La ricezione di più messaggi con lo stesso contenuto non sarebbe apprezzato dall'utente. Potrebbe bloccarti o inviare un reclamo. Avrai maggiori probabilità di essere bannato.

Se invii un messaggio e ricevi un ID messaggio dall'API, hai fatto tutto il necessario per l'invio. Non inviare di nuovo lo stesso contenuto allo stesso destinatario.

Se riscontri basse percentuali di consegna per un periodo di tempo prolungato, invia un ticket di supporto all' Assistenza diretta.

Quando si invia un messaggio, non appena si ottiene un ID messaggio la richiesta del messaggio è stata memorizzata nel database. Il client API WhatsApp Business continuerà a tentare di inviare il messaggio fino a quando non verrà confermato dal server WhatsApp. Questo processo non ha una linea temporale stabilita. Il server WhatsApp tenterà quindi di consegnare il messaggio al telefono dell'utente. Se il telefono dell'utente non è online, il messaggio verrà archiviato per 30 giorni prima di essere eliminato dal server WhatsApp.

Al momento, non è possibile vedere quanti o quali utenti hanno bloccato la tua azienda. L'indicatore migliore sarebbe mettersi in ascolto dei callback di stato e, se non ricevi lo stato delivered, allora l'utente ha bloccato la tua azienda o non ha una connessione di rete. Consulta la documentazione sui Webhooks per maggiori dettagli.

Se un utente ha bloccato la tua azienda, l'API Contacts continuerà a restituire il numero di telefono come utente WhatsApp valido. Tuttavia, quando invii il messaggio, questo non verrà mai recapitato. Se si tratta di un messaggio a pagamento, non ti verrà addebitato alcun importo.

Nel normale scenario consumer, ciò avviene automaticamente quando il mittente non è presente nella tua rubrica e in passato non hai inviato altri messaggi a questo mittente. Nello scenario enterprise, un'azienda dovrebbe utilizzare i modelli di messaggio quando interagisce per la prima volta con un utente per stabilire una relazione di "fiducia"; in tal caso, il client API WhatsApp Business si atterrà all'impostazione di download automatico nell'app.

Nel normale scenario consumer, ciò avviene automaticamente quando il mittente non è presente nella tua rubrica e in passato non hai inviato altri messaggi a questo mittente. Nello scenario enterprise, un'azienda dovrebbe utilizzare i modelli di messaggio quando interagisce per la prima volta con un utente per stabilire una relazione di "fiducia"; in tal caso, il client API WhatsApp Business potrà renderizzare il link e renderlo cliccabile.

Certamente! Contatta il tuo rappresentante WhatsApp e presenta questa richiesta.

No, non è garantito che l'ordine in cui arrivano i messaggi sia lo stesso in cui sono stati inviati. Se l'ordine è fondamentale per il tuo caso d'uso, l'approccio suggerito è mettersi in ascolto del callback recapitato del primo messaggio prima di lanciare il secondo messaggio.

Quando utilizzi il nodo messages, devi impostare l'intestazione Content-Type su application/json affinché il client API WhatsApp Business analizzi correttamente il corpo del messaggio. C'è anche l'intestazione Authorization, che deve essere impostata e deve contenere un token di accesso non scaduto. Consulta la documentazione su accesso e autenticazione per informazioni su come ottenere il token e sulla sua scadenza.

Sì, invia una chiamata API al nodo contacts prima di inviare un messaggio. Le informazioni dalla verifica dei contacts vengono memorizzate nella cache del container e la mancata esecuzione di questa operazione potrebbe generare un errore Unkown Contact. Consulta la documentazione per la Verifica dei contatti per maggiori informazioni.

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.

Contenuti multimediali

Non esiste alcun meccanismo di pulizia per i contenuti multimediali in uscita e in entrata. Puoi eliminare manualmente i file multimediali individuandoli sul file system.

Per trovare il mountpoint del volume del contenuto multimediale, puoi eseguire un comando docker.

Richiesta

docker volume inspect whatsappMedia

Risposta

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

Quindi, per vedere tutti i file multimediali in arrivo puoi eseguire il comando ls con il percorso file Mountpoint ricevuto:

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

Per AWS setup, il volume del contenuto multimediale è montato sul percorso /mnt/wa/media sull'host.

La dimensione massima di caricamento del file è 64 MB, il che significa che questo limite si applica anche a qualsiasi immagine, documento o video inviato con un messaggio.

Sta a te decidere quando eliminare contenuti multimediali.

Dopo aver caricato i contenuti multimediali, riceverai un ID relativo, che puoi utilizzare per inviare un messaggio che include l'elemento multimediale caricato. Dopo aver inviato il messaggio multimediale, l'API di WhatsApp Business crittograferà e caricherà il contenuto multimediale sui server WhatsApp, dove rimarrà per un periodo di 14 giorni. Dopodiché, puoi decidere di eliminare il contenuto multimediale fornendo l'ID oppure di conservarlo per un uso successivo. Sebbene consigliamo di conservare il contenuto multimediale per 30 giorni, spetta a te decidere la politica di mantenimento in base alla politica o al caso d'uso della tua azienda.

Per le immagini, la didascalia sarà aggiunta come descrizione. Il testo della didascalia viene visualizzato a lunghezza intera per le immagini su Android e iPhone.

Per i documenti, la didascalia sostituisce il nome del file. Non è pensato per essere visualizzata sul dispositivo dell'utente come testo di descrizione, ma per mostrare il nome del file. Gli iPhone mostrano il testo completo, mentre gli Android troncano il nome del file; questa è una limitazione tecnica dell'attuale implementazione di WhatsApp su entrambi i dispositivi.

Quando invii un'immagine come album dall'API WhatsApp Business, dovrai inviare almeno 4 immagini in successione. Se la visualizzazione della conversazione dell'utente è attualmente attiva alla ricezione delle immagini, la visualizzazione dell'album non è disponibile fino alla visita successiva.

Non verrà creato un album se si verifica una delle seguenti condizioni:

  1. Immagini con didascalie
  2. Divisore non letto: l'utente vede alcune immagini, ma non il resto
  3. Intestazione data: il giorno cambia tra una consegna e l'altra

No, al momento dobbiamo utilizzare AWS EFS per condividere il volume multimediale tra Coreapp e Webapp.

No, attualmente non supportiamo la modifica del percorso predefinito per l'archiviazione di contenuto multimediale (/usr/local/wamedia/). Tutto lo spazio di archiviazione del contenuto multimediale deve trovarsi in questa posizione predefinita per funzionare correttamente.

Modelli di messaggi

Attualmente è di 7 giorni. Se una cache non è stata aggiornata per più di 7 giorni, estrarrà l'ultimo language pack dal server indipendentemente dal fatto che l'elemento sia già presente o meno nel pacchetto.

Nota: il criterio del linguaggio fallback è stato dichiarato obsoleto a partire dalla v2.27.8 e il criterio predefinito è ora quello deterministic.

Se crei una traduzione in una nuova lingua, devi tradurre tutti gli elementi che usi in quella lingua. Altrimenti, potresti ricevere errori di "struttura non disponibile" poiché il telefono del destinatario non riesce a individuare un elemento che si aspetta di trovare per la lingua in cui si trova. Questi errori di struttura non disponibile vengono visualizzati quando si inviano messaggi modello utilizzando la policy di fallback.

Se al momento non prevedi di creare traduzioni, puoi usare la policy deterministica per evitare questi errori.

Webhook

Il client API WhatsApp Business ti invia i callback Webhook tramite il container Coreapp. Pertanto, l'endpoint Webhook deve essere configurato per accettare richieste in entrata dal Coreapp.

Se un Webhook non riesce a inviare un callback, il callback viene inserito in una coda. Eventuali callback inviati dopo l'errore iniziale non verranno ricevuti. Solo dopo l'invio del callback iniziale non riuscito, verranno inviati anche gli altri.

Se un evento Webhook non viene recapitato per qualsiasi motivo (ad esempio, il client è offline) o se la richiesta Webhook restituisce un codice di stato HTTP diverso da 200, ritenteremo la consegna del Webhook. Continueremo a riprovare la consegna con ritardi crescenti fino a un determinato timeout (in genere 24 ore, sebbene ciò possa variare) o fino a quando la consegna non avrà esito positivo.

A un Webhook WhatsApp possono essere inviati messaggi duplicati poiché l'unica garanzia fornita è che i messaggi saranno ricevuti almeno una volta (e non "esattamente" una volta). Se ciò influisce sul modo in cui i messaggi vengono elaborati, è consigliabile deduplicare i messaggi Webhook in base all'ID del messaggio.

Controlla l'impostazione dell'applicazione pass_through. Non riceverai callback dello stato di lettura se hai abilitato pass_through con il client v2.29.1 o versione successiva dell'API di WhatsApp Business.

Se desideri ricevere la callback dello stato di lettura, disabilita l'impostazione dell'applicazione pass_through. Disabilitando pass_through, lo spazio di archiviazione del database potrebbe aumentare rapidamente. Consulta la documentazione sulla Gestione del database per maggiori informazioni sulla gestione del database.

Errori

È causato da un bug in una vecchia versione del client iOS. Prevediamo che gli errori si ridurranno man mano che gran parte degli utenti effettueranno l'aggiornamento.

Per prima cosa controlla i callback per verificare la presenza di errori critici e diagnosticare il problema.

Se vedi "Conflitto: rilevate più istanze che condividono lo stesso numero ", devi controllare i tuoi container. La causa più probabile è la presenza di più container Docker che provano a connettersi ai server WhatsApp utilizzando lo stesso account WhatsApp. Assicurati di avere un solo container attivo e funzionante. Se hai vecchi container, spegnili e l'errore scomparirà.

Se desideri testare la nostra soluzione di high availability più complessa, consulta la documentazione sull'High Availability.

Questo è un problema noto. A volte l'aggiornamento del client API WhatsApp Business tramite gli script CloudFormation determina anche la necessità di un aggiornamento dello stack DB RDS. Il nuovo stack RDS non avrà lo stesso nome host dello stack originale e i container Docker non sono in grado di connettersi al database. La soluzione è entrare in SSH nell'istanza EC2 creata da CloudFormation e aggiornare il file whatsapp.conf con il nuovo nome host, quindi riavviare i container Docker in modo che acquisiscano le nuove impostazioni.

Questo errore si verifica quando il database non è stato configurato correttamente.

  • Assicurati di utilizzare MySQL 5.7 o successivo o PostgreSQL 9.5.x, 9.6.x, 10.x.
  • La password del database non deve contenere nessuno di questi caratteri: ?{}&~!()^.
  • Se stai utilizzando AWS, assicurati che il tuo stack abbia un nome breve. Consulta la documentazione sull'installazione per maggiori informazioni.

Questo succede se il bridge Docker è danneggiato. Il miglior rimedio è arrestare il servizio Docker e riavviarlo. Puoi anche provare docker restart sui tuoi container.

L'errore "Connessione rifiutata" probabilmente significa che Coreapp non è in esecuzione. Usa docker ps per vedere se Coreapp è attivo. Se non lo è, dai un'occhiata ai registri Docker. Coreapp potrebbe non essere in grado di connettersi al database. Assicurati che il database sia configurato correttamente.

Ci possono essere molte ragioni per questo errore. Il Coreapp potrebbe essere inattivo o il database non è stato configurato correttamente. Se non è questo il motivo, dai un'occhiata ai registri Coreapp (o ai registri Coreapp master se stai eseguendo multiconnect). Se vedi errori di connessione al database, è probabile che il database stia esaurendo le connessioni. Consulta la documentazione MySQL o la documentazione PostgreSQL relativa a questo errore.

È consigliabile aumentare il numero di connessioni al database. 1 000 connessioni al database dovrebbero essere un numero sicuro, ma devi prendere una decisione informata in merito al numero di connessioni. Se l'errore persiste, invia un ticket di supporto.

Se viene visualizzato questo errore ma il parametro obbligatorio mancante a cui fa riferimento è impostato nel corpo del json, potrebbe essere un errore di analisi del json. Questo errore può verificarsi quando l'intero payload json non è analizzabile a causa di errori di formattazione del json. Controlla i valori di quei parametri per escludere la presenza di caratteri json non validi, come un ritorno a capo alla fine. A volte i parametri possono essere copiati con spazi bianchi aggiuntivi che potrebbero contenere caratteri che invalidano il json.

Gli errori di struttura non disponibile si verificano quando il telefono non è in grado di leggere il modello di messaggio.

I modelli sono memorizzati sul server. Quando si invia un modello di messaggio usando il nodo messages ,vengono inviati al telefono solo lo spazio dei nomi, la lingua, il nome dell'elemento e i parametri localizzati, non l'intero messaggio. Una volta consegnati questi valori al telefono, il dispositivo prova a visualizzare il messaggio.

Se si verifica un errore durante la visualizzazione, viene inviato un errore di structure unavailable all'URL di callback contenente l'ID del destinatario e del messaggio. Questi errori possono essere relativi a spazio dei nomi errato, mancata corrispondenza dei parametri localizzati, nome elemento errato ecc.

Accedi a WhatsApp Manager nel tuo Business Manager do Facebook per visualizzare il numero corretto di parametri. Controlla che lo spazio dei nomi sia corretto e che esista il nome dell'elemento.

Una fonte comune di errori è la mancata creazione di traduzioni per tutti i modelli in uso. Ad esempio, se hai 2 modelli che invii spesso e aggiungi una nuova traduzione per un modello, assicurati di aggiungere la nuova traduzione anche per l'altro modello. Se prevedi di supportare più di una lingua, devi fornire traduzioni per tutti i modelli in tutte le lingue supportate.

La buona notizia è che gli errori di structure unavailable sono solitamente dovuti a errori nella chiamata API messages e possono essere risolti modificando il payload di invio.

Devi prima verificare se il contatto esiste prima di inviare un messaggio. Per ulteriori informazioni su come eseguire questa operazione, consulta la documentazione sui contatti.

Questo errore è dovuto al fatto che Coreapp non è ancora inizializzato. Significa che la registrazione potrebbe non essere stata eseguita correttamente. Prova a eseguire la registrazione prima di effettuare una chiamata a un altro endpoint. Il primo passaggio dopo l'installazione dell'API WhatsApp Business è l'accesso. Il secondo passaggio è la registrazione. Questi due passaggi sono necessari prima di effettuare richieste a qualsiasi altro endpoint.

Tutte le build del client API WhatsApp Business hanno una scadenza di 6 mesi dalla data di rilascio. Se viene visualizzato questo errore, esegui l'aggiornamento all'ultima versione rilasciata il prima possibile.

WhatsApp esegue esperimenti per misurare e comprendere l'impatto delle notifiche API WhatsApp Business sull'esperienza utente e sul prodotto in generale. Se l'utente a cui stai inviando messaggi sta partecipando a uno di questi esperimenti, potrebbe non ricevere notifiche da te anche se ha accettato di riceverle.

Se viene visualizato un errore simile al seguente durante l'impostazione della distribuzione AWS, prova a passare a un nome di stack che utilizza al massimo 8 caratteri.

Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:string is too long, it needs to be less than 64 bytes long Common Name (e.g. server FQDN or YOUR name) []:Email Address []:error, no objects specified in config file problems making Certificate Request Created device key for internal-wa-inc-name-LB-123456789.ap-southeast-1.elb.amazonaws.com

Verrà restituito un oggetto profile vuoto se il profilo aziendale è solo parzialmente popolato. Effettua l'aggiornamento a v2.21.4 per risolvere questo problema.

Consulta la documentazione relativa alle impostazioni del profilo aziendale per ulteriori informazioni sul completamento del profilo aziendale.

Il codice di errore 471 si riferisce a rate limit basati sulla qualità. Per maggiori informazioni, consulta la documentazione sui rate limit basati sulla qualità.

Di seguito sono riportati gli errori di convalida lato invio dei modelli di messaggio e il motivo per cui potresti visualizzarli:

  • "Non esistono modelli di messaggio nella lingua tua-lingua" oppure "Non esistono modelli di messaggio nella lingua tua-lingua e nelle impostazioni locali tue-impostazioni-locali": il language pack specifico non esiste. Controlla il tuo account Business Manager.
  • "Il modello nome-modello non esiste nella lingua tua-lingua" o "Il modello nome-modello non esiste nella lingua tua-lingua e nelle impostazioni locali tue-impostazioni-locali": stai tentando di utilizzare un modello che non esiste (non è stato creato o non è stato ancora approvato). Anche se tenti di inviare un messaggio con un modello che è stato eliminato, verrà visualizzato questo errore.
  • "Il numero di localizable_params num1 non corrisponde al numero previsto di params num2": stai tentando di inviare un modello di messaggio con parametri che non corrispondono al numero di parametri previsti. Verifica la correttezza dell'invocazione dell'API.
  • "note-tuo-modello è un modello avanzato e richiede l'utilizzo dell'API template message": stai tentando di inviare un modello di messaggio multimediale come un normale modello di messaggio. Assicurati che il tipo di messaggio sia template. Consulta il documento Modelli di messaggio multimediale per maggiori informazioni.
  • Una volta che i modelli sono stati approvati in Business Manager (o eliminati), possono essere necessari fino a 20 minuti affinché il client API WhatsApp Business riceva i modelli aggiornati. Se stai tentando di inviare un messaggio con un modello appena approvato e viene visualizzato un errore che indica che il modello non esiste, puoi riprovare a inviare il messaggio dopo aver atteso il tempo sopra specificato.

Per il client API WhatsApp Business con la versione 2.21.6, quando il client viene disconnesso dal server potrebbe rimanere disconnesso per alcuni minuti (fino a 4 minuti) e quindi riprovare la connessione. L'aggiornamento alla versione 2.23.4 consentirà un tempo di inattività inferiore del client durante il tentativo di connessione al server.

Prima della v2.29.x, era possibile che la dimensione della coda dei messaggi in uscita aumentasse nel tempo a causa di un bug. L'aggiornamento alla v2.29.3 consente di risolvere questo problema.

Coreapp controllerà le directory /usr/local/waent/data e /usr/local/waent/log all'interno del contenitore Coreapp, assicurandosi che ci siano almeno 10 MB di spazio di archiviazione, altrimenti restituirà questo errore critico.

Controlla i log e la directory dei dati per assicurarti di avere spazio sufficiente.

Altro

Attualmente, non c'è modo di farlo. Se non sei in grado di gestire le risposte in entrata dei tuoi utenti su WhatsApp, ti consigliamo di inviare un messaggio di risposta automatica reindirizzandoli ai canali di supporto appropriati.

Devi registrare un secondo numero di telefono e lanciare un secondo stack CloudFormation o un'istanza Docker per il test. Se hai due client dell'API di WhatsApp Business attivi che usano lo stesso numero di telefono, il server ti butterà fuori perché le chiavi di crittografia saranno in conflitto. È consigliabile disporre di un secondo ambiente da poter utilizzare per testare l'istanza non in produzione prima di eseguire qualsiasi tipo di migrazione sul client in produzione.

La verifica dell'integrità è gratuito e può essere eseguita tutte le volte necessarie.

Leggi la documentazione sulle statistiche per maggiori informazioni sulle statistiche dell'app e del database che puoi interrogare. Le statistiche dell'app sono archiviate in memoria e possono essere interrogate con un impiego minimo delle risorse. Le statistiche del database richiedono più risorse e devono essere interrogate solo quando necessario.

La tua azienda non viene informata quando un cliente modifica il proprio numero di telefono di WhatsApp. Quando utilizzi il nodo contacts, lo stato del numero sarà invalid.

Se il numero di telefono di un cliente diventa inattivo, ma il cliente utilizza ancora WhatsApp, continuerà ad avere accesso a WhatsApp fino a quando/se il numero di telefono viene riassegnato o registrato nuovamente.

WhatsApp verifica se un numero fornito appartiene effettivamente a un telefono. Il fatto che un utente abbia un account WhatsApp è la prova che ha confermato il numero e che nessun altro ha usato quel numero per registrarsi successivamente su WhatsApp. Tuttavia, non è una garanzia della posizione fisica della scheda SIM.

D'altra parte, se il telefono di un utente viene perso o rubato, l'utente può disattivare il proprio account WhatsApp. Per ulteriori informazioni su come gli utenti possono disattivare il proprio account, consulta le Domande frequenti su telefoni smarriti e rubati .

No, non è possibile utilizzare l'API WhatsApp Business per rilevare più dispositivi che utilizzano lo stesso numero.

Un payload di messaggi inviato da un utente può essere un file di testo o multimediale.

Nel caso del testo, si ritiene che non vi sia alcun pericolo.

Per i file multimediali:

  • Normalmente, si prevede che le aziende dispongano di un software di protezione (ad esempio, antivirus, antimalware, ecc.) per analizzare eventuali minacce.
  • WhatsApp non è in grado di identificare o controllare il contenuto di un file che viene trasferito poiché è crittografato end-to-end (lo stesso vale anche per contenuti di solo testo).
  • Esiste un'opzione per impedire il download automatico dei file multimediali nel client API WhatsApp Business. Se l'azienda non desidera ricevere alcun file dagli utenti, può impostare il campo auto_download con un array vuoto.

Contatta l'assistenza fornendo tutte le informazioni in tuo possesso. Indagheremo e bloccheremo tutti i numeri falsi.

A partire dalla versione 2.18.26, l'endpoint App Stats consente di esportare le metriche interne nel formato di testo Prometheus. Consulta la documentazione sul monitoraggio delle istanze per maggiori informazioni.

Il client dell'API On-Premises di WhatsApp Business ha bisogno di un database in cui archiviare le chiavi per decrittografare i messaggi scambiati tra un'azienda e i clienti. Tutti i messaggi su WhatsApp sono crittografati con le chiavi del mittente e del destinatario. Le chiavi dei clienti sono memorizzate sul loro dispositivo mobile, quelle dell'azienda nel database dell'azienda. Scopri di più sulla Sicurezza di WhatsApp.

L'API Cloud di WhatsApp Business è un'alternativa in cui Meta ospita un database aziendale. L'API Cloud consente di implementare le API di WhatsApp Business senza il costo dell'hosting di server propri. Scopri di più.