---
title: "Generatore di messaggi OTP per SMS e WhatsApp"
description: "Generatore gratuito di messaggi OTP: template SMS con codice di verifica in 6 lingue, formati Android SMS Retriever e autofill iOS e template WhatsApp."
canonical: "https://omnichannels.ai/it/tools/otp-message-generator/"
language: "it"
updated: "2026-10-10"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
---

# Generatore di messaggi OTP per SMS e WhatsApp

Canonical: https://omnichannels.ai/it/tools/otp-message-generator/
Language: it
Publisher: OmniChannels.ai by BroadNet Technologies

Un buon SMS OTP mette il codice per primo, nomina il brand, indica la scadenza e avverte l'utente di non condividerlo mai, ad esempio: "482913 è il tuo codice di verifica Acme. Scade tra 5 minuti. Non condividerlo." Mantenetelo in un solo segmento (160 caratteri GSM-7 o 70 Unicode) ed evitate i link. Per l'autofill su Android, aggiungete l'hash di 11 caratteri della vostra app. Per iOS e web, terminate con "@yourdomain.com #482913".

## Come creare un messaggio OTP
1. **Inserite brand e regole del codice:** Digitate il nome della vostra app o del brand, poi scegliete la lunghezza del codice da 4 a 8 caratteri, solo cifre oppure lettere e cifre, e per quanti minuti il codice resta valido.
2. **Scegliete lingua e canale:** Scegliete inglese, arabo, francese, spagnolo, tedesco o portoghese, poi SMS, WhatsApp o entrambi. I messaggi in arabo sono conteggiati come Unicode (70 caratteri per SMS).
3. **Aggiungete i dettagli di autofill:** Se volete, incollate l'hash di 11 caratteri della vostra app Android e il dominio del vostro sito web. Lo strumento costruisce i formati SMS Retriever, legato al dominio e combinato e controlla il limite di 140 byte.
4. **Copiate il messaggio o il codice:** Copiate una variante SMS, il JSON del template WhatsApp o una richiesta cURL o Node.js per la nostra API SMS. Poi seguite la checklist di sicurezza prima di andare online.

## Cosa contiene un buon template SMS OTP

Un messaggio di verifica ha un solo compito: far arrivare il codice giusto alla persona giusta in fretta, in un modo difficile da abusare. La maggior parte degli utenti legge il codice dalla notifica sulla schermata di blocco, che mostra solo la prima riga circa. Mettete il codice all'inizio o vicino all'inizio e rendete chiaro il brand, così l'utente sa quale servizio lo ha inviato.
La lunghezza conta per costi e affidabilità. Un SMS GSM-7 contiene 160 caratteri. Quando un messaggio viene diviso, ogni parte ne contiene 153. Un solo carattere fuori dall'alfabeto GSM-7, come una lettera araba, un'emoji, un apostrofo tipografico o una lettera accentata come “ó” o “ç”, porta l'intero messaggio a UCS-2. Il limite scende così a 70 caratteri, o 67 per parte. Un OTP di due parti costa il doppio e ha una probabilità leggermente più alta che una parte arrivi in ritardo. Il generatore mostra codifica e numero di segmenti per ogni variante e può sostituire le lettere accentate con quelle semplici, così i messaggi in spagnolo, portoghese e francese restano in GSM-7.
- Codice per primo o all'inizio: "482913 è il tuo codice Acme" compare nell'anteprima della notifica.
- Nome del brand: dice agli utenti quale servizio ha inviato il codice e rende più difficile il phishing.
- Scadenza: "Scade tra 5 minuti" fissa un'aspettativa e limita gli abusi.
- Avviso: "Non condividere questo codice con nessuno, nemmeno con il nostro personale."
- Niente link: gli operatori spesso filtrano gli OTP che contengono URL, e i link abituano gli utenti a toccare link di phishing.

## Autofill su Android: il formato SMS Retriever

L'API SMS Retriever di Google permette a un'app Android di leggere l'SMS di verifica senza il permesso SMS e senza che l'utente digiti nulla. Secondo la documentazione di Google, il messaggio non deve superare 140 byte, deve contenere il codice monouso e deve includere una stringa hash di 11 caratteri che identifica la vostra app. Quel limite di 140 byte equivale a 160 caratteri GSM-7 o 70 caratteri UCS-2, quindi in pratica il messaggio deve stare in un solo SMS.
L'hash è costituito dai primi 11 caratteri di un hash SHA-256 codificato in base64 del nome del pacchetto e del certificato di firma. L'esempio di Google lo mette su una riga a sé alla fine: "Your ExampleApp code is: 123ABC78", una riga vuota, poi "FA+9qCX9VSu". Calcolate l'hash dal vostro keystore di produzione e scrivetelo nel codice sul server. Google dice di non usare stringhe hash calcolate dinamicamente sul client. Le versioni più vecchie della documentazione richiedevano che il messaggio iniziasse con "<#>". La pagina attuale non elenca quel prefisso. Non fa danni, ma usa 4 caratteri. Se non potete controllare il formato del messaggio, l'alternativa è l'API SMS User Consent: l'utente tocca una volta per consentire alla vostra app di leggere quel singolo messaggio.

## Autofill su iPhone e web: codici legati al dominio

iOS e macOS rilevano i codici negli SMS in arrivo e li suggeriscono sopra la tastiera quando il campo è contrassegnato come campo per codice monouso: textContentType = .oneTimeCode in un'app nativa, oppure autocomplete="one-time-code" su un input HTML, come descritto nella documentazione per sviluppatori di Apple. Da iOS 14 e macOS Big Sur, Safari supporta anche i codici monouso legati all'origine, un formato definito nella specifica WICG “Origin-bound one-time codes delivered via SMS”.
In quel formato l'ultima riga del messaggio è "@example.com #747723": il dominio con una @ davanti, poi esattamente uno spazio, poi il codice con un # davanti. Un terzo valore facoltativo, "@embedded.example", indica un sito incorporato. Il testo leggibile può precedere l'ultima riga. Qualsiasi altro testo tra i valori rende la riga non valida. L'AutoFill propone poi il codice solo su quel dominio o nelle app associate, il che rende molto più difficile il phishing. Il generatore costruisce un messaggio combinato che porta l'hash Android e l'ultima riga legata al dominio e, per le lingue in alfabeto latino, sta ancora in 140 byte. In arabo, inviate separatamente i formati Android e iOS.

## Template di autenticazione WhatsApp: cosa potete e non potete cambiare

WhatsApp richiede un template di autenticazione per inviare password monouso, e Meta fissa il corpo. In inglese è "<code> is your verification code." Potete aggiungere la riga di sicurezza di Meta, "For your security, do not share this code.", e un piè di pagina di scadenza, "This code expires in <N> minutes.", dove code_expiration_minutes è compreso tra 1 e 90. Ogni versione linguistica usa la traduzione fissa di Meta. URL, contenuti multimediali ed emoji non sono supportati.
Il pulsante lo scegliete voi. Copia codice funziona ovunque. L'autofill one-tap apre la vostra app Android con il codice e richiede il nome del pacchetto, l'hash della firma e un handshake. Lo zero-tap (solo Android) non ha pulsante: WhatsApp trasmette il codice direttamente alla vostra app. Su iOS 26 e successivi, i suggerimenti della tastiera propongono il codice dalla notifica senza alcuna integrazione. Il codice può arrivare a 15 caratteri e compare due volte nella richiesta di invio, come parametro del corpo e come parametro del pulsante (sub_type "url"). Il testo del pulsante Copia codice è limitato a 25 caratteri. Impostate message_send_ttl_seconds perché i codici scaduti non vengano consegnati in ritardo. Meta consegna inoltre i messaggi di autenticazione sulla Cloud API solo al dispositivo principale dell'utente; i dispositivi collegati vedono un avviso mascherato.

## Checklist di sicurezza e strategia di fallback

Il messaggio è la parte facile. La maggior parte delle frodi OTP e degli sforamenti di costo deriva da regole deboli attorno ad esso. Sono raccomandazioni molto diffuse, non requisiti di legge. Adattate i numeri al vostro rischio.
Usate una cascata per la consegna. Provate prima WhatsApp dove l'utente lo ha, ripiegate sull'SMS dopo un breve timeout (ad esempio 30–60 secondi senza ricevuta di consegna) e offrite come ultima risorsa una chiamata vocale che legge il codice per i telefoni fissi e la scarsa copertura. Nel GCC l'OTP è traffico transazionale, quindi le regole promozionali come il prefisso mittente “AD-” degli EAU non si applicano. Il vostro Sender ID deve comunque essere registrato nella maggior parte dei mercati, quindi verificate le regole locali prima del lancio.
- 6 cifre è il valore predefinito comune; generate i codici con un generatore casuale crittograficamente sicuro.
- Validità breve (5–10 minuti), monouso, e conservate solo un hash del codice.
- Limitate la frequenza degli invii per numero di telefono e per IP, imponete un tempo di attesa tra i reinvii e bloccate dopo circa 5 tentativi errati.
- Prevenite lo SMS pumping (traffico gonfiato artificialmente) consentendo solo i paesi di destinazione che servite.
- Non mettete mai il codice in un link o nell'URL e non chiedete mai agli utenti di leggerlo a un operatore.

## Domande sui messaggi OTP

### Qual è il miglior formato per un SMS OTP?

Codice per primo, brand, scadenza e un avviso di non condividerlo, in un solo segmento e senza link: "482913 è il codice di verifica Acme. Scade tra 5 minuti. Non condividerlo con nessuno." Aggiungete una riga con l'hash dell'app per l'autofill su Android e "@yourdomain.com #482913" come ultima riga per l'autofill su iOS e web.

### Quanto può essere lungo un SMS OTP?

Puntate a un segmento: 160 caratteri in GSM-7 o 70 in Unicode (ad esempio arabo). L'SMS Retriever di Google limita il messaggio a 140 byte, che equivalgono allo stesso limite di un singolo SMS. I messaggi più lunghi vengono divisi in parti da 153 o 67 caratteri e fatturati per parte.

### L'autofill OTP su Android richiede ancora il prefisso <#>?

No. L'attuale documentazione di Google su SMS Retriever richiede tre cose: al massimo 140 byte, il codice monouso e l'hash di 11 caratteri dell'app. Il prefisso "<#>" derivava da indicazioni più vecchie. Mantenerlo non fa danni, ma costa 4 caratteri.

### Come faccio in modo che un OTP si compili automaticamente su iPhone?

Contrassegnate l'input come campo per codice monouso (textContentType .oneTimeCode nelle app, autocomplete="one-time-code" sul web). iOS suggerisce poi i codici da Messaggi. Per legare il codice al vostro sito, terminate l'SMS con "@yourdomain.com #123456", con esattamente uno spazio tra i due valori.

### Posso personalizzare il testo di un template di autenticazione WhatsApp?

No. Meta fissa il corpo ("<code> is your verification code.") e lo traduce per lingua. Potete solo aggiungere la riga di sicurezza facoltativa, un piè di pagina di scadenza da 1 a 90 minuti e scegliere un pulsante copia codice, one-tap o zero-tap. URL, contenuti multimediali ed emoji non sono ammessi.

### Devo inviare gli OTP via WhatsApp o via SMS?

Usate entrambi. WhatsApp offre pulsanti copia codice e autofill one-tap e mostra il nome verificato della vostra azienda. L'SMS raggiunge ogni telefono, con o senza dati. Una configurazione comune prova prima WhatsApp, ripiega sull'SMS dopo 30–60 secondi senza consegna e offre come ultima risorsa una chiamata vocale.

### Perché il mio OTP in arabo viene diviso in due messaggi?

Il testo arabo usa la codifica UCS-2, che consente solo 70 caratteri in un singolo SMS e 67 per parte una volta diviso. Mantenete breve il testo arabo, usate cifre occidentali per il codice e controllate il conteggio nel generatore prima di inviare.

### È sicuro inserire un link di accesso in un SMS OTP?

Meglio evitarlo. I link nei messaggi di verifica rendono più facile il phishing, gli operatori li filtrano più spesso e abituano gli utenti a toccare i link negli SMS. Inviate solo il codice e lasciate che l'utente lo digiti o lo compili automaticamente nella vostra app.
