Cosa controlla la validazione di un numero di telefono?

La validazione di un numero di telefono confronta il numero con le regole di numerazione del suo paese, stabilendo che il numero potrebbe esistere, non che qualcuno sia raggiungibile.

Dietro la parola validazione si nascondono tre domande diverse. Una chiede se il numero ha la forma di un numero reale. Una chiede se una rete risponde per esso. Una chiede se la persona con cui stai parlando lo possiede. Ognuna richiede un controllo diverso. Ognuna lascia qualcosa di sconosciuto.

Cosa può dirti un controllo di formato?

Che il numero appartiene a un intervallo che un operatore è autorizzato ad assegnare.

libphonenumber di Google considera un intervallo valido quando gli operatori sono liberi di assegnarne i numeri agli abbonati. Dalla sua FAQ:

A valid number range is one from which numbers can be freely assigned by carriers to users.

La validità non dice nulla sul fatto che un determinato numero sia stato assegnato o risponda. Dalla stessa pagina:

Do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable.

Quindi un controllo di formato risponde a una domanda sul piano di numerazione. Non dice nulla sul fatto che l'intervallo sia stato assegnato a qualcuno, né se un telefono squilla.

Neppure chiamare è un test sostitutivo. La FAQ indica due motivi per cui una chiamata può raggiungere un numero non valido. Alcuni paesi ignorano le cifre in eccesso alla fine, quindi 1800 MICROSOFT raggiunge un numero più corto. Durante una rinumerazione, alcuni operatori mantengono attivi i vecchi numeri anche dopo che hanno smesso di funzionare in generale.

Cosa aggiunge una ricerca in rete?

Le parti della risposta che solo una rete possiede.

Una ricerca interroga gli operatori e le fonti di intelligence numerica su un numero specifico anziché sul suo intervallo. Questo sposta diverse domande da sconosciute a risolte:

ControlloCosa restituisceCosa resta sconosciuto
FormatoIl numero è analizzabile e rientra in un intervallo assegnabileSe l'intervallo è assegnato a qualcuno
Tipo di lineaSe il numero è mobile, fisso, VoIP, gratuito o machine-to-machineA quale servizio è allocato l'intervallo a maggior dettaglio
Rete serventeLa rete che risponde per il numero adesso e quella che lo ha emessoSe un terminale è acceso
Stato portabilitàQuando il numero è passato l'ultima volta a un'altra reteNulla sull'abbonato
PresenzaSe il numero è registrato e in grado di ricevere traffico in questo momentoChi sta usando il terminale
PossessoNulla. Una ricerca non interroga mai la personaSe il tuo utente controlla il numero

L'ultima riga è quella che conta per un flusso di registrazione. Nessuna ricerca stabilisce il possesso, perché una ricerca non coinvolge mai la persona.

Cosa può dimostrare solo una verifica attiva?

Che chiunque sia nel tuo flusso può ricevere traffico a quel numero.

La FAQ di libphonenumber considera la verifica attiva come l'unica risposta praticabile, perché le pratiche di numerazione variano troppo tra i paesi perché qualsiasi altro metodo possa risolvere la questione:

This is not technically feasible without such a verification step given the complicated international world we live in, with varying standardization practices in different regions.

Inviare un codice e accettarlo indietro è quindi un tipo di controllo diverso dai due precedenti. Costa un messaggio e un round trip. È anche l'unico che lega il numero alla persona davanti a te. Cosa significa OTP tratta il codice stesso, e la guida a Verify tratta l'esecuzione della verifica.

Come leggere un controllo a cui nessuno ha potuto rispondere?

Come sconosciuto, che non è la stessa cosa di no.

Un numero la cui presenza non è stata determinata non è un numero irraggiungibile. Trattare i due casi allo stesso modo blocca clienti le cui reti semplicemente non hanno risposto.

Bird li distingue nella risposta. Ogni proprietà richiesta riporta il proprio status:

  • ok: la proprietà ha ricevuto risposta e il suo valore è presente.
  • unavailable: nessuna risposta è arrivata, quindi il blocco è null.
  • inconclusive: è arrivata una risposta che non risolve la proprietà.

Solo ok contiene un valore. Un blocco di presenza con status: ok e reachable: false è un vero negativo, perché la rete ha risposto e ha segnalato il numero come irraggiungibile.

Quindi controlla prima ok. Tratta tutto il resto come senza risposta. Il vocabolario degli stati è un'enum aperta, quindi un valore non riconosciuto è uno stato futuro, non un errore. Controllare ok resta quindi corretto man mano che il vocabolario cresce.

Come scegliere un provider di ricerca telefonica?

Scegli il provider i cui campi, copertura di mercato e regole di fatturazione corrispondono alla decisione che devi prendere.

Punto decisionaleBird LookupDomande da porre su un altro provider
Sintassi e validitàRichiede un numero internazionale e indica se corrisponde al piano di numerazione.Normalizza l'input e rifiuta i numeri malformati senza indovinare?
Tipo di linea e operatoreRestituisce tipo di linea, rete servente e rete emittente nel risultato base.Quali campi di operatore e tipo di linea sono inclusi, e sono attuali o assegnati?
PortabilitàRiporta lo stato di portabilità nel risultato base e può restituire dati aggiuntivi sulla portabilità.Mostra l'operatore attuale, quello originale o lo storico dei passaggi?
AggiornamentoPresenza e roaming interrogano le condizioni di rete attuali; gli altri campi descrivono numerazione e assegnazione.Quali campi sono in tempo reale, memorizzati in cache o con timestamp?
Risultati sconosciutiOgni proprietà richiesta ha stato ok, unavailable o inconclusive.È possibile distinguere una proprietà senza risposta da un risultato negativo?
Copertura di mercatoUna proprietà può non essere disponibile per un numero o un operatore anche quando la ricerca ha esito positivo.Quali paesi e operatori supportano ciascuna proprietà?
FatturazioneLa ricerca base è fatturata una volta. Le proprietà opzionali sono fatturate solo alla consegna, e le proprietà non riuscite non sono fatturate.Quanto costa una proprietà senza risposta e quali componenti aggiuntivi cambiano la fattura?

Le alternative classificate documentano compromessi diversi. Twilio Lookup offre formattazione e validazione di base. I pacchetti opzionali coprono tipo di linea, stato della linea, SIM swap, identità, nome del chiamante, numeri riassegnati e segnali di rischio. Copertura e condizioni di approvazione variano per pacchetto e mercato.

La documentazione sulla validazione telefonica di Abstract API descrive i campi di validità, paese, operatore e tipo di linea. La pagina di validazione e ricerca operatore di Veriphone descrive validità, paese, operatore, tipo di linea e risultati sull'operatore attuale. Entrambi pubblicano regole di copertura e crediti separate. La copertura documentata, il comportamento dei risultati sconosciuti e la fatturazione di ciascun provider determinano se è adatto a una decisione di registrazione o instradamento.

Come cercare un numero su Bird?

Invia il numero all'endpoint di ricerca. Leggi i blocchi che hai richiesto.

POST /v1/lookup/phone-number accetta un phone_number e un array opzionale type. Ogni ricerca restituisce le reti servente ed emittente, lo stato di portabilità, il paese e il tipo di linea. L'array type aggiunge classification, porting, presence, roaming, sim_swap o score, ciascuno fatturato separatamente e solo alla consegna. La ricerca non contatta il numero.

Riutilizzare un Idempotency-Key restituisce il risultato memorizzato anziché eseguire e fatturare una seconda ricerca. La guida alla ricerca tratta il flusso e il riferimento API tratta i campi.

In breve

  1. Valido significa che l'intervallo esiste, non che il numero sia in uso.

    La libreria di numeri telefonici di Google definisce un intervallo valido come uno da cui gli operatori possono assegnare liberamente numeri agli utenti.

  2. Una chiamata connessa non dimostra che un numero sia valido.

    Alcuni paesi ignorano le cifre in eccesso alla fine, e alcuni operatori mantengono attivi i vecchi numeri durante una rinumerazione ben oltre il momento in cui smettono di funzionare altrove.

  3. Solo una verifica attiva dimostra il possesso.

    Inviare un codice e riceverlo indietro è l'unico controllo che stabilisce chi possiede il numero, ed è per questo che la verifica esiste come passaggio separato.

  4. Un controllo senza risposta non è una risposta negativa.

    Bird riporta ogni proprietà richiesta con il proprio stato, quindi una proprietà a cui nessuno ha potuto rispondere resta distinguibile da una con risposta negativa.

Costruisci sulla stessa rete.

Una chiave API di test è subito tua. L'accesso alla produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

La tua prossima idea. Pronta a partire.