Vai al contenuto
OmniChannels.ai

OTP su WhatsApp o via SMS: costi, consegna e fallback

OTP su WhatsApp e OTP via SMS a confronto: costi, consegna, esperienza utente, template di autenticazione, fallback da WhatsApp a SMS e controlli antifrode.

Aggiornato 10 min di lettura

Di OmniChannels.ai Editorial Team · Revisione di BroadNet Messaging Solutions Team

WhatsApp

Risposta breve

Usate l'OTP su WhatsApp quando i vostri utenti sono attivi su WhatsApp e volete un template di autenticazione con esperienza copy-code, one-tap o zero-tap; usate l'OTP via SMS quando dovete raggiungere qualsiasi telefono senza app né dati internet. La maggior parte dei sistemi in produzione invia l'OTP prima su WhatsApp e ricorre all'SMS dopo una breve attesa. I costi differiscono per paese e per prezzi a messaggio, quindi simulate entrambi con i vostri volumi.

In questa pagina
  1. Qual è la differenza tra OTP su WhatsApp e OTP via SMS?
  2. Come differisce il modello di costo?
  3. Quale offre migliore consegna ed esperienza utente?
  4. Come si crea un template di autenticazione tramite l'API?
  5. Come si invia il codice su ciascun canale?
  6. Come costruire una consegna con WhatsApp per primo e fallback SMS?
  7. Come differiscono frodi e abusi?
  8. Quale scegliere?
  9. Esempio pratico: un'app in stile ride-hailing nel GCC
  10. Quali sono gli errori comuni?
  11. Come vi aiuta OmniChannels.ai

Punti chiave

  • L'OTP su WhatsApp usa un template di autenticazione approvato, addebitato da Meta per messaggio consegnato; l'OTP via SMS è fatturato per segmento in base a rotta e destinazione, quindi confrontate per paese, non in generale.
  • L'SMS raggiunge qualsiasi telefono con segnale, mentre WhatsApp richiede che l'utente abbia WhatsApp e una connessione dati.
  • I template di autenticazione supportano consegna copy-code, one-tap e zero-tap; l'API la espone come deliveryMode con COPY_CODE, ONE_TAP o ZERO_TAP.
  • Un flusso con WhatsApp per primo e fallback SMS bilancia costi e copertura, ma il fallback va limitato per non raddoppiare i messaggi e non favorire gli abusi.
  • Entrambi i canali sono bersaglio di frodi di gonfiamento del traffico, quindi limitate le richieste per numero e per IP e convalidate i numeri prima dell'invio.

Questa guida è per i team di prodotto e di ingegneria che scelgono come consegnare i codici monouso (OTP): su WhatsApp, via SMS o con entrambi. Confronta modello di costo, copertura, esperienza utente ed esposizione alle frodi, spiega i template di autenticazione e mostra come costruire un flusso con WhatsApp per primo e fallback via SMS. Per il quadro più ampio della sicurezza, consultate la nostra guida ai messaggi OTP di autenticazione.

Qual è la differenza tra OTP su WhatsApp e OTP via SMS?

L'OTP via SMS invia il codice come messaggio di testo sulla rete mobile a qualsiasi numero di telefono. L'OTP su WhatsApp lo invia come messaggio template di autenticazione, via internet, all'account WhatsApp dell'utente. Entrambi consegnano un codice di breve durata che l'utente digita o tocca per confermare un numero.

OTP su WhatsApp OTP via SMS
Copertura Utenti con WhatsApp e una connessione dati Qualsiasi telefono con segnale mobile
Tipo di messaggio Template di autenticazione approvato Messaggio di testo semplice
Identità del mittente Il vostro profilo aziendale WhatsApp verificato Sender ID o numero, secondo le regole del paese
Esperienza utente Copy-code, compilazione one-tap o zero-tap Inserimento manuale, o compilazione automatica del sistema operativo dove supportata
Base di prezzo Per messaggio di autenticazione consegnato, per mercato (Meta) Per segmento, per rotta e destinazione
Approvazione Template approvato da Meta Registrazione del Sender ID in molti paesi
Roaming e assenza di dati Richiede internet Funziona senza dati
Stato SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED SUBMITTED, SENT, DELIVERED, FAILED, REJECTED

Nessuno dei due canali è migliore in assoluto. La scelta giusta dipende da utenti, destinazioni e rischio.

Come differisce il modello di costo?

Confrontate per paese e per verifica riuscita, non per messaggio. Meta addebita ogni messaggio consegnato sulla WhatsApp Business Platform, in base alla categoria del template e al mercato del destinatario, e l'autenticazione è una categoria a sé. Il costo dell'SMS dipende dalla destinazione, dalla rotta e dal numero di segmenti.

Punti che cambiano il calcolo:

  • Segmenti. Un SMS in arabo è Unicode, quindi un codice con una formulazione lunga può occupare due segmenti (70 caratteri per uno, 67 per segmento se diviso, secondo il 3GPP TS 23.040). Mantenete breve il testo dell'OTP.
  • Tentativi falliti. Meta addebita i messaggi consegnati, mentre la fatturazione SMS dipende dalle condizioni della vostra rotta. Chiedete cosa viene fatturato in caso di fallimento.
  • Volume di fallback. Se il 10 percento degli invii WhatsApp ricorre all'SMS, in quei casi pagate entrambi.
  • Commissioni del provider. Il vostro provider può aggiungere commissioni. I nostri prezzi WhatsApp sono addebitati alla tariffa di Meta, senza ricarico, e gli SMS sono quotati per destinazione.

Non inserite in un business case prezzi presi da un blog. Usate i prezzi WhatsApp per paese, le pagine dei prezzi SMS, il calcolatore dei prezzi WhatsApp e lo strumento di stima dei costi, poi confermate nel listino attuale di Meta, perché Meta modifica le tariffe secondo un calendario.

Quale offre migliore consegna ed esperienza utente?

L'SMS raggiunge più persone; WhatsApp può sembrare più veloce quando funziona. L'SMS richiede solo il segnale, mentre WhatsApp richiede l'app, un account su quel numero e i dati. La consegna di entrambi dipende da operatori, rotte e filtri e non facciamo affermazioni universali sulla velocità.

L'esperienza utente su WhatsApp è migliore quando il template la supporta:

  • Copy code: l'utente tocca un pulsante che copia il codice.
  • Compilazione one-tap: il codice viene inserito nella vostra app dopo un solo tocco.
  • Zero-tap: il codice viene inserito senza alcun tocco, dove il dispositivo lo supporta.

Con gli SMS la compilazione automatica dipende dal sistema operativo e dal formato del messaggio, quindi testate su dispositivi reali. Per gli utenti arabi, verificate che il codice si legga chiaramente nel testo da destra a sinistra. Consultate la documentazione di Meta sui template di autenticazione per i requisiti attuali di dispositivi e app prima di promettere lo zero-tap nel vostro prodotto.

Come si crea un template di autenticazione tramite l'API?

Createlo con categoria AUTHENTICATION e scegliete la modalità di consegna. Nella nostra API POST /whatsapp/template accetta campi multipart; questi sono quelli che contano per l'OTP.

Campo Valore
name Nome del template in minuscolo, univoco nel vostro account
languageType Codice lingua, ad esempio en_US o ar
category AUTHENTICATION
templateType OTP
deliveryMode COPY_CODE, ONE_TAP o ZERO_TAP
codeExpirationMinutes Scadenza mostrata all'utente (facoltativa)

I nuovi template partono come PENDING finché Meta non li approva. I template di autenticazione hanno una struttura fissa stabilita da Meta, quindi confermate i campi restanti nel riferimento dell'API WhatsApp e con il nostro team per il vostro primo template. L'approvazione è una decisione di Meta e non promettiamo alcuna tempistica.

Come si invia il codice su ciascun canale?

Su WhatsApp, inviate il template approvato con il codice come variabile del corpo. Per un pulsante copy-code, passate lo stesso codice in buttonsTemplateVariable.

curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -F batchId=0 \
  -F destinationNo=971500000000 \
  -F messageType=TEMPLATE \
  -F templateName=login_code \
  -F templateLanguage=en_US \
  -F bodyTemplateVariables=482913 \
  -F buttonsTemplateVariable=482913

Qui login_code è un segnaposto per il vostro template di autenticazione approvato. Per gli SMS, chiamate POST /sms/sendSms con JSON:

curl -X POST https://api.broadnet.me/sms/sendSms \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "senderId": "OmniDemo",
    "destinationNumber": "971500000000",
    "message": "Your OmniDemo code is 482913",
    "messageType": "TEXT"
  }'

Notate le differenze: WhatsApp è multipart form data e restituisce un batchId; gli SMS sono JSON e restituiscono l'ID del messaggio come testo semplice. Esempi completi sono nelle nostre guide all'invio di WhatsApp via API e all'invio di SMS via API.

Come costruire una consegna con WhatsApp per primo e fallback SMS?

Inviate su WhatsApp, attendete uno stato, poi inviate una sola volta via SMS se serve. I nostri stati sono normalizzati tra i canali, quindi lo stesso gestore può pilotare entrambi.

  1. Generate il codice sul server, memorizzate solo un hash con una scadenza e limitate i tentativi.
  2. Inviate il template WhatsApp e registrate il batchId e il vostro ID di operazione.
  3. Attendete DELIVERED sul webhook per una finestra che scegliete in base alla pazienza dell'utente.
  4. Se FAILED, REJECTED o nessuna consegna in tempo, invalidate il primo codice, generatene uno nuovo e inviate l'SMS.
  5. Limitate i fallback per numero e per sessione.
  6. Registrate quale canale ha avuto successo, per regolare l'ordine per paese.

Evitate nuovi tentativi alla cieca dopo i timeout, perché l'API non ha una chiave di idempotenza; controllate lo stato prima di reinviare, come descritto in Errori e limiti. L'ordine dei canali si configura per caso d'uso in OmniChannels.ai e il progetto generale è nella nostra strategia di fallback tra canali. Per la gestione dei webhook, vedi la guida ai webhook. L'OTP vocale è un altro passaggio di fallback; vedi la guida all'OTP vocale e contattate il team commerciale per i prezzi della voce.

Come differiscono frodi e abusi?

Entrambi i canali attirano abusi, quindi costruite i controlli prima del lancio. L'SMS ha un problema noto: gli aggressori attivano codici verso numeri da cui traggono profitto, gonfiando il vostro traffico. WhatsApp non è immune, perché qualsiasi endpoint che invia un messaggio su richiesta può essere abusato per generare costi o molestare un numero.

Controlli validi per entrambi:

  • Limitate le richieste di codice per numero di telefono, indirizzo IP, dispositivo e account.
  • Convalidate i numeri prima dell'invio; vedi HLR lookup.
  • Limitate il fallback, così un aggressore non può attivare due messaggi per richiesta.
  • Osservate la conversione: molte richieste con poche verifiche completate sono un segnale d'allarme.
  • Bloccate le destinazioni che non servite.
  • Scadenza breve e tentativi limitati, senza riutilizzo del codice.

Leggete la prevenzione delle frodi SMS pumping e usate il calcolatore delle frodi per stimare l'esposizione. Secondo il NIST SP 800-63B-4, i codici out-of-band sono un tipo di autenticatore con limiti noti, quindi usate metodi più forti per azioni ad alto rischio come pagamenti o recupero dell'account.

Quale scegliere?

Decidete in base a pubblico e rischio, poi testate.

Situazione Approccio suggerito
Utenti per lo più su WhatsApp, prodotto basato su app Prima WhatsApp, fallback SMS
Pubblico misto, molti senza dati Prima SMS o solo SMS
Transazioni ad alto rischio OTP più un fattore più forte; non affidarsi a uno solo
Utenti in roaming o con dati scarsi SMS
Serve la compilazione one-tap nell'app Template di autenticazione WhatsApp
Controllo rigoroso dei costi in un mercato Confrontare entrambi per quel paese

Esempio pratico: un'app in stile ride-hailing nel GCC

«Rafiq Rides» (nome di fantasia) verifica i nuovi account di autisti e passeggeri negli Emirati, in Arabia Saudita e in Egitto.

  • Progetto: template di autenticazione WhatsApp con copy-code per primo; fallback SMS dopo una breve attesa senza stato DELIVERED.
  • Controlli: tre richieste di codice per numero all'ora, un limite per IP, convalida del numero prima del primo invio e un fallback per sessione.
  • Misurazione: verifica completata entro un breve periodo, suddivisa per canale e paese; quota di falliti e fallback.
  • Messa a punto: in un paese in cui la consegna WhatsApp è più debole, il team inverte l'ordine e mette prima l'SMS.
  • Costi: simulati per paese con gli strumenti di prezzo e rivisti ogni mese rispetto agli invii effettivi.

Quali sono gli errori comuni?

  • Confrontare un unico prezzo globale, invece che per paese e per utente verificato.
  • Inviare su entrambi i canali insieme, il che raddoppia costo e superficie di abuso.
  • Pulsanti di reinvio illimitati.
  • Riutilizzare il vecchio codice dopo il fallback.
  • Registrare i codici nei log o inviarli negli URL.
  • Nessun registro del consenso per il canale WhatsApp.
  • Promettere lo zero-tap ovunque. Verificate il supporto attuale dei dispositivi.
  • Limiti: questa guida descrive il meccanismo. Consegna, costi e supporto dei dispositivi variano per paese, rotta e regole di Meta e vanno testati nei vostri mercati.

Come vi aiuta OmniChannels.ai

OmniChannels.ai copre entrambi i canali in una sola API: template di autenticazione WhatsApp (one-tap, zero-tap e copy-code) come Meta Business Solution Provider ufficiale e SMS A2P tramite la connettività diretta agli operatori di BroadNet, con fallback tra canali configurato per caso d'uso e stati normalizzati in un unico formato di webhook. Il nostro team prepara con voi le registrazioni dei Sender ID e di WhatsApp; le approvazioni restano a Meta e agli enti regolatori. Consultate la soluzione OTP, l'API SMS per OTP e la documentazione per sviluppatori.

Domande frequenti

L'OTP su WhatsApp costa meno dell'OTP via SMS?

Dipende dal paese di destinazione e dal provider. Meta addebita i template di autenticazione per messaggio consegnato in base al mercato del destinatario, mentre l'SMS è fatturato per segmento su una rotta. In alcuni mercati costa meno uno, in altri il contrario. Non affidatevi a un'affermazione generale: simulate entrambi con i nostri strumenti di prezzo e i vostri volumi reali.

L'OTP su WhatsApp è più sicuro dell'OTP via SMS?

Nessuno dei due è un autenticatore forte da solo. L'OTP su WhatsApp evita l'esposizione al SIM swap della rete SMS per il messaggio stesso, ma gli account possono comunque essere sottratti e gli utenti possono essere indotti con il phishing a condividere un codice. Entrambi sono codici monouso inviati a un canale. Usate scadenza breve, tentativi limitati e fattori più forti per le azioni ad alto rischio.

Che cos'è un template di autenticazione WhatsApp?

È un template nella categoria autenticazione di Meta, usato solo per i codici monouso. La consegna può essere copy-code, compilazione automatica one-tap o zero-tap. I template richiedono l'approvazione di Meta e hanno una struttura fissa. Nella nostra API se ne crea uno con categoria AUTHENTICATION e deliveryMode impostato su COPY_CODE, ONE_TAP o ZERO_TAP.

Quando conviene passare da WhatsApp all'SMS?

Quando il messaggio WhatsApp fallisce, viene rifiutato o non ha raggiunto lo stato di consegna entro una breve attesa che stabilite, ad esempio il tempo che un utente attenderebbe ragionevolmente. Limitate i fallback per numero e per sessione, fate scadere il primo codice quando inviate il secondo e registrate quale canale ha avuto successo.

Serve l'opt-in per i messaggi OTP?

Sì per WhatsApp, perché la policy di Meta richiede che gli utenti abbiano dato l'opt-in a ricevere messaggi da un'azienda. Di solito l'utente fornisce il numero e richiede il codice, che è un'azione chiara, e i vostri termini e l'informativa privacy devono spiegare il canale. Le regole per gli SMS variano per paese, quindi verificate i requisiti su Sender ID e consenso per le vostre destinazioni.

L'OTP può essere inviato su entrambi i canali contemporaneamente?

È possibile ma raramente conviene. Inviare due volte lo stesso codice raddoppia il costo, confonde gli utenti e amplia la superficie di abuso. Preferite la consegna sequenziale: provate il canale preferito, attendete uno stato, poi ricorrete una sola volta al fallback. Scegliete il canale in base alla preferenza dell'utente o ai dati per paese, dove li avete.

Fonti

  1. Pricing on the WhatsApp Business Platform — Meta for Developers
  2. WhatsApp Business Messaging Policy
  3. NIST SP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management
  4. 3GPP TS 23.040: Technical realization of the Short Message Service (SMS)