Per inviare SMS o verificare un numero di cellulare con CaptainVerify, ogni numero del vostro archivio deve essere scritto in un formato che tutti gli operatori comprendono. Questo formato si chiama E.164. La sua regola principale sta in una riga. Le sue eccezioni fanno fallire le importazioni.

Passo 1: il prefisso del paese

Ogni numero inizia con il prefisso del paese, detto anche prefisso internazionale. Conta da 1 a 3 cifre: 39 per l'Italia, 41 per la Svizzera, 33 per la Francia, 34 per la Spagna. L'elenco completo si trova nella nostra tabella dei prefissi telefonici per paese.

Nella norma E.164 questo prefisso si scrive sempre preceduto dal segno «+».

Lo «00» che componete da un apparecchio italiano porta allo stesso posto, ma appartiene alla rete di partenza. Ogni paese ha il suo: 00 in Italia come nel resto d'Europa, 011 negli Stati Uniti e in Canada, 0011 in Australia. Un numero salvato nella forma 00393123456789 costringe quindi ogni destinatario a tradurre la vostra convenzione locale. Il «+» si legge ovunque. Tenetelo nelle vostre colonne.

Passo 2: la norma E.164

E.164 è la raccomandazione dell'Unione internazionale delle telecomunicazioni che definisce come scrivere un numero perché sia raggiungibile da qualunque rete. Vale per le chiamate come per gli SMS.

Il numero si scrive in un solo blocco, con il «+» e poi le cifre. E non supera le 15 cifre, prefisso compreso, escluso il «+».

Com'è fatto un numero in formato E.164

Prendiamo il 312 345 6789, un cellulare italiano.

  • Prefisso del paese: 39
  • Numero nazionale: 312 345 6789
  • I cellulari italiani non hanno lo zero iniziale, il numero passa intero
  • Risultato: +393123456789

L'Italia è un caso a parte, perché conserva lo zero iniziale dei numeri fissi. Un fisso romano scritto 06 1234 5678 diventa +390612345678, con il suo zero. Togliendolo si otterrebbe un numero inesistente.

Gli errori che fanno fallire una conversione

  • Spazi, punti, trattini e parentesi restano nell'archivio. +39 312 345 6789 deve diventare +393123456789.
  • Lo zero viene tolto ai numeri fissi. Un +39612345678 senza il suo zero non corrisponde a nessuna linea.
  • Lo 00 resta davanti al prefisso. Si scrive +39, mai 0039 né 00+39.
  • La Francia fa l'opposto dell'Italia e perde il suo zero: 06 11 22 33 44 diventa +33611223344, senza lo 0.
  • Excel si mangia il «+» o converte il numero in notazione scientifica. Formattate la colonna come testo prima dell'importazione, altrimenti 393123456789 apparirà come 3,93123E+11.

Validare un numero con un'espressione regolare

Una volta convertito il numero, un'espressione regolare ne verifica la forma. In PHP: preg_match('/^\+[1-9]\d{1,14}$/', $numero). Accetta un «+», una prima cifra tra 1 e 9, poi da 1 a 14 cifre successive.

Per i cellulari italiani molte guide propongono ^\+393\d{9}$. Questa versione impone 10 cifre nazionali e lascia fuori tutti i cellulari che ne hanno 9, mentre i metadati di libphonenumber accettano entrambe le lunghezze. L'intervallo realmente mobile si scrive ^\+39(?:3[2-9]\d{7,8}|(?:31|43)\d{8})$.

In un archivio multipaese ogni paese ha le sue lunghezze e i suoi prefissi. Quella tabella diventa presto ingestibile a mano. Google pubblica libphonenumber in Java, C++ e JavaScript, mentre i port PHP e Python restano mantenuti dalla comunità. In una campagna SMS un numero accettato per errore parte comunque nel lotto e viene fatturato.

Un'espressione regolare valida una forma. Su ciò che si trova in fondo alla linea non dice nulla.

Un numero ben formattato può restare irraggiungibile

Un numero conforme a E.164 è raggiungibile dalla rete. Può comunque essere cessato da 3 anni o essere stato portato a un altro operatore.

L'HLR Lookup interroga il registro dell'operatore e restituisce lo stato reale della linea, attiva o spenta, con l'operatore che la gestisce oggi. Su un archivio raccolto online questo controllo elimina i numeri morti prima che la campagna SMS li fatturi.

Per le aziende con clienti fuori dall'Italia, convertire tutto l'archivio al formato internazionale determina la ricezione degli SMS di marketing come degli SMS transazionali.

Convertire i vostri numeri in formato E.164

Incollate fino a 100 numeri, uno per riga, mescolati o no. Ogni numero che porta il proprio prefisso viene riconosciuto da solo, tra 215 paesi. Una riga che lo strumento non sa convertire esce tale e quale, al suo posto, così da poterla ritrovare.

Registrati ora per migliorare la tua consegna !
100 crediti e-mail gratuiti