Questo documento spiega come eseguire la migrazione dei numeri di telefono aziendali dall'API On-Premises all'API Cloud.
Tieni presente che la migrazione di un numero di telefono aziendale da un'API all'altra non è come la migrazione di un numero da un account WhatsApp Business (WABA) ad un altro.
Per migrare dall'API Cloud all'API On-Premises, consulta Migrazione dall'API Cloud all'API On-Premises.
Il processo di migrazione prevede la generazione di metadati sul numero di telefono aziendale, quindi l'utilizzo di quei dati per registrare il numero da utilizzare con l'API Cloud. Questa operazione determina l'annullamento della registrazione del numero sull'API On-Premises, poiché un numero può essere registrato per l'utilizzo solo con un'API alla volta.
La migrazione NON ha effetto sugli elementi seguenti:
Tuttavia, per supportare la migrazione, devi essere a conoscenza di eventuali differenze nelle API e adottare le misure appropriate per affrontarle prima di eseguire le fasi di migrazione descritte in questo documento.
Devi avere un'app business di Meta che sia in grado di usare l'API Cloud e l'API Business Management con i dati dei clienti registrati e che sia in grado di integrare i webhook dell'API Cloud e dell'API Business Management. L'app deve anche essere associata a o reclamata dal tuo account business di Meta verificato.
Se non hai un'app business di Meta o se ne hai una ma non hai configurato il prodotto WhatsApp su di essa, completa i passaggi riportati nella nostra guida Primi passi dell'API Cloud. Completando questi passaggi, genererai tutti gli asset necessari per testare l'API Cloud e l'API Business Management.
La tua app di Meta deve essere sottoposta all'analisi dell'app ed essere approvata (ovvero, avere accesso avanzato) per le autorizzazioni whatsapp_business_messaging e whatsapp_business_management.
Dopo aver verificato che la tua app possa gestire tutte le differenze nelle API, ti consigliamo di eseguire prima la migrazione di un numero di telefono aziendale con volumi ridotti e verificare che tutte le funzionalità che intendi offrire con l'API Cloud funzionino correttamente. Dopo aver verificato che tutto funziona correttamente, esegui la migrazione di numeri aggiuntivi.
Ti consigliamo inoltre di effettuare la migrazione quando il traffico verso la distribuzione dell'API On-Premises è basso.
Le seguenti funzioni dell'API On-Premises non sono supportate o sono trattate in modo diverso dall'API Cloud. Assicurati che la tua app sia in grado di gestire queste differenze prima di iniziare la migrazione.
Le strutture payload dei webhook dell'API Cloud e dell'API Business Management sono diverse dalle strutture payload dell'API On-Premises. Ti consigliamo di creare un nuovo endpoint webhook che possa gestire esclusivamente l'API Cloud e l'API Business Management.
Consulta la documentazione seguente per comprendere le differenze di payload e come configurare i webhook sulla tua app usando la Dashboard gestione app:
Dopo aver eseguito la migrazione di un numero di telefono aziendale all'API Cloud, devi usare l'endpoint Account WhatsApp Business > App iscritte per iscrivere la tua app di Meta ai webhook sull'account WhatsApp Business associato al numero aziendale:
curl -X POST 'https://graph.facebook.com/v17.0/<WABA_ID>/subscribed_apps' \ -H 'Authorization: Bearer EAAJB...'
Una volta completata la migrazione all'API Cloud, la consegna dei webhook dell'API On-Premises del numero di telefono aziendale sarà interrotta e inizierà quella dei webhook dell'API Cloud.
Gli ID di qualsiasi contenuto multimediale caricato nell'API On-Premises non possono essere usati quando si inviano messaggi con l'API Cloud, quindi devi ricaricare il contenuto multimediale usando l'API Cloud per generare nuovi ID oppure usare gli URL dei contenuti multimediali se tali contenuti sono ospitati su un server pubblico. Consulta Messaggi multimediali e Modelli di messaggi basati su contenuto multimediale.
Per garantire l'integrità dei messaggi, alcuni domini di hosting di contenuti multimediali consentiti dall'API On-Premises non lo sono dall'API Cloud. Se usi un servizio di hosting per i tuoi contenuti multimediali, ti consigliamo di testare gli URL dei contenuti in messaggi liberi e modelli di messaggi prima della migrazione. Se ritieni che il tuo host sia bloccato per errore, contatta l'assistenza.
I codici di errore dell'API Cloud e dell'API Business Management sono diversi dai codici di errore dell'API On-Premises. Consulta i documenti seguenti:
On-Premises identifica i messaggi Premi per parlare (push-to-talk, PTT) nei webhook impostando messages.type
su voice
, mentre l'API Cloud identifica i messaggi PTT impostando messages.audio.voice
su true
.
L'API Cloud non supporta i pacchetti di adesivi.
Il tempo di inattività inizia non appena esegui il passaggio finale di migrazione (registrando il numero da usare con l'API Cloud) e dovrebbe durare solo pochi secondi. Durante questo periodo, i messaggi inviati al numero dagli utenti di WhatsApp verranno eliminati senza avvisare.
Ti consigliamo vivamente di programmare la migrazione in un periodo in cui il numero ha un'attività bassa, per ridurre al minimo l'impatto del tempo di inattività.
Se il numero di telefono aziendale On-Premises ha multiconnect in esecuzione su 2 o più shard, verrà automaticamente aggiornato a throughput elevato sull'API Cloud.
Se stai effettuando la migrazione di un numero di telefono aziendale con stato di account business ufficiale (OBA) , questo stato verrà mantenuto se ne includi i metadati (generati nel passaggio 2) al momento della registrazione del numero (passaggio 3). Se ometti questi dati, il numero perderà il suo status OBA.
Se hai domande o hai bisogno di aiuto per la migrazione, invia un ticket all'Assistenza diretta con:
Se conosci il PIN del numero di telefono aziendale, puoi saltare questo passaggio.
Avrai bisogno del PIN del numero di telefono aziendale quando esegui il passaggio 3, quindi se non conosci il PIN, devi prima disabilitare la verifica in due passaggi sul numero di telefono aziendale. Se non possiedi il numero di telefono aziendale, chiedi al proprietario di disabilitarlo.
Usa l'API Backup and Restore per generare metadati sul numero di telefono aziendale.
POST /v1/settings/backup { "password": "<PASSWORD>" }
<PASSWORD>
può essere qualsiasi stringa. Questo valore verrà usato per codificare i metadati, quindi tienine traccia perché ne avrai bisogno nel prossimo passaggio.
{ "settings": { "data": "<METADATA>" }, "meta": { "api_status": "<API_STATUS>", "version": "<API_VERSION>" } }
L'API restituirà una stringa codificata assegnata alla proprietà data
che descrive il tuo numero di telefono aziendale e le relative impostazioni. Annota questo valore perché ti servirà nel prossimo passaggio.
<METADATA>
: questa è la stringa codificata che descrive il tuo numero di telefono aziendale e le relative impostazioni. Annota questo valore perché ti servirà nel prossimo passaggio.<API_STATUS>
: lo stato dell'implementazione dell'API On-Premises.<API_VERSION>
: il numero di versione dell'API On-Premises in esecuzione.curl 'https://localhost:9090/v1/settings/backup' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer EAAJB...' \ -d ' { "password": "tacocat" }'
{ "settings": { "data": "V0FCS..." }, "meta": { "api_status": "stable", "version": "2.49.3" } }
Non è necessaria una password monouso se i metadati di backup del passaggio 2 in alto vengono passati correttamente e senza alterazioni all'API Cloud durante il passaggio 3 (questo passaggio).
Usa l'endpoint Numero di telefono WhatsApp Business > Registrati dell'API Cloud per registrare il numero da usare con l'API Cloud.
Includi il valore dei metadati del numero di telefono aziendale codificato e la password del passaggio precedente. Anche se puoi registrare il numero senza questi dati, i dati del profilo del numero di telefono aziendale andranno persi se non vengono inclusi e ciò può influire sullo stato dell'account WhatsApp Business come account business ufficiale.
POST /<BUSINESS_PHONE_NUMBER_ID>/register
{ "messaging_product": "whatsapp", "pin": "<NEW_OR_EXISTING_PIN>", "backup": { "password": "<PASSWORD>", "data": "<METADATA>" } }
<NEW_OR_EXISTING_PIN
>: il PIN esistente o il PIN che vuoi impostare sul numero di telefono aziendale.<PASSWORD
>: la password che hai usato per generare i metadati del numero di telefono aziendale nel passaggio precedente.<METADATA
>: la stringa codificata che descrive il tuo numero di telefono aziendale e le relative impostazioni, generata nel passaggio precedente.{ "success": <SUCCESS> }
L'API risponderà con success
impostato su true
se la registrazione è andata a buon fine o su false
se è stato generato un errore.
curl 'https://graph.facebook.com/v21.0
/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "134568",
"backup": {
"password": "tacocat",
"data": "V0FCS..."
}
}'
{ "success": true }
Richiedi il campo health_status
sul numero di telefono aziendale e verifica che possa essere usato per i messaggi con l'API Cloud. Consulta Stato integrità messaggi.