Was prüft die Validierung von Telefonnummern?

Die Validierung von Telefonnummern prüft eine Nummer gegen die Nummerierungsregeln ihres Landes und stellt damit fest, dass die Nummer existieren könnte – nicht, dass jemand unter ihr erreichbar ist.

Hinter dem Wort Validierung verbergen sich drei verschiedene Fragen. Eine fragt, ob die Nummer wie eine echte Nummer aufgebaut ist. Eine fragt, ob ein Netz überhaupt für sie antwortet. Eine fragt, ob die Person, mit der Sie sprechen, sie besitzt. Jede braucht eine andere Prüfung. Jede lässt etwas unbekannt.

Was kann eine Formatprüfung aussagen?

Dass die Nummer zu einem Bereich gehört, den ein Netzbetreiber vergeben darf.

Googles libphonenumber behandelt einen Bereich als gültig, wenn Netzbetreiber seine Nummern frei an Teilnehmer vergeben können. Aus der FAQ:

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

Gültigkeit sagt nichts darüber aus, ob eine bestimmte Nummer vergeben wurde oder antwortet. Dieselbe Seite:

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

Eine Formatprüfung beantwortet also eine Frage zum Nummerierungsplan. Sie sagt nichts darüber, ob der Bereich jemandem zugewiesen wurde, und nichts darüber, ob ein Telefon klingelt.

Anrufen ist ebenfalls kein Ersatztest. Die FAQ nennt zwei Gründe, warum ein Anruf eine ungültige Nummer erreichen kann. Manche Länder ignorieren überzählige Ziffern am Ende, sodass 1800 MICROSOFT eine kürzere Nummer erreicht. Während einer Umnummerierung halten manche Netzbetreiber alte Nummern funktionsfähig, nachdem sie allgemein nicht mehr funktionieren.

Was bringt eine Netzwerkabfrage zusätzlich?

Die Teile der Antwort, die nur ein Netz kennt.

Eine Abfrage fragt Netzbetreiber- und Nummern-Intelligence-Quellen zu einer bestimmten Nummer statt zu ihrem Bereich. Das verschiebt mehrere Fragen von unbekannt zu beantwortet:

PrüfungWas sie liefertWas sie offen lässt
FormatDie Nummer lässt sich parsen und liegt in einem vergebbaren BereichOb der Bereich jemandem zugewiesen ist
LeitungstypOb die Nummer Mobilfunk, Festnetz, VoIP, gebührenfrei oder Machine-to-Machine istWelchem Dienst der Bereich auf feinerer Ebene zugeordnet ist
ZustellnetzDas Netz, das aktuell für die Nummer antwortet, und das Netz, das sie vergeben hatOb ein Endgerät eingeschaltet ist
PortierungsstatusWann die Nummer zuletzt das Netz gewechselt hatNichts über den Teilnehmer
ErreichbarkeitOb die Nummer registriert ist und gerade Verkehr empfangen kannWer das Endgerät in der Hand hält
BesitzNichts. Eine Abfrage fragt niemals die PersonOb Ihr Nutzer die Nummer kontrolliert

Die letzte Zeile ist die entscheidende für einen Registrierungsablauf. Keine Abfrage stellt Besitz fest, weil eine Abfrage niemals die Person einbezieht.

Was kann nur eine Verifizierungsabfrage beweisen?

Dass die Person in Ihrem Ablauf unter dieser Nummer Nachrichten empfangen kann.

Die libphonenumber-FAQ behandelt eine Abfrage als einzige praktikable Antwort, weil die Nummerierungspraxis zwischen Ländern zu unterschiedlich ist, als dass irgendetwas anderes sie klären könnte:

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.

Einen Code zu senden und ihn zurückzunehmen ist daher eine andere Art von Prüfung als die beiden oben genannten. Sie kostet eine Nachricht und einen Roundtrip. Sie ist auch die einzige, die die Nummer an die Person vor Ihnen bindet. Was bedeutet OTP behandelt den Code selbst, und der Verify-Leitfaden behandelt die Durchführung der Abfrage.

Wie lese ich eine Prüfung, die niemand beantworten konnte?

Als unbekannt – was nicht dasselbe ist wie Nein.

Eine Nummer, deren Erreichbarkeit nicht ermittelt werden konnte, ist keine unerreichbare Nummer. Beides gleichzusetzen sperrt Kunden aus, deren Netze schlicht nicht geantwortet haben.

Bird trennt beides in der Antwort. Jede angeforderte Eigenschaft meldet ihren eigenen status:

  • ok: Die Eigenschaft wurde beantwortet und ihr Wert ist vorhanden.
  • unavailable: Keine Antwort eingetroffen, daher ist der Block null.
  • inconclusive: Eine Antwort ist eingetroffen, die die Eigenschaft nicht auflöst.

Nur ok enthält einen Wert. Ein Erreichbarkeitsblock mit status: ok und reachable: false ist ein echtes Nein, weil das Netz geantwortet und die Nummer als unerreichbar gemeldet hat.

Verzweigen Sie also zuerst auf ok. Behandeln Sie alles andere als nicht beantwortet. Das Status-Vokabular ist ein offenes Enum, daher ist ein unbekannter Wert ein zukünftiger Status und kein Fehler. Die Verzweigung auf ok bleibt damit korrekt, auch wenn das Vokabular wächst.

Wie sollte ich einen Anbieter für Telefonnummern-Abfragen wählen?

Wählen Sie den Anbieter, dessen Felder, Marktabdeckung und Abrechnungsregeln zu der Entscheidung passen, die Sie treffen müssen.

EntscheidungspunktBird LookupFragen an einen anderen Anbieter
Syntax und GültigkeitErfordert eine internationale Nummer und meldet, ob sie zum Nummerierungsplan passt.Normalisiert er die Eingabe und weist fehlerhafte Nummern ab, ohne zu raten?
Leitungstyp und NetzbetreiberLiefert Leitungstyp, Zustellnetz und ausgebendes Netz im Basisergebnis.Welche Netzbetreiber- und Leitungstyp-Felder sind enthalten, und sind sie aktuell oder zugewiesen?
PortierungMeldet den Portierungsstatus im Basisergebnis und kann zusätzliche Portierungsdaten liefern.Zeigt er den aktuellen Netzbetreiber, den ursprünglichen Netzbetreiber oder die Wechselhistorie?
AktualitätErreichbarkeit und Roaming fragen aktuelle Netzbedingungen ab; andere Felder beschreiben Nummerierung und Zuweisung.Welche Felder sind live, gecacht oder mit Zeitstempel versehen?
Unbekannte ErgebnisseJede angeforderte Eigenschaft hat den Status ok, unavailable oder inconclusive.Können Sie eine unbeantwortete Eigenschaft von einem negativen Ergebnis unterscheiden?
MarktabdeckungEine Eigenschaft kann für eine Nummer oder einen Netzbetreiber nicht verfügbar sein, auch wenn die Abfrage erfolgreich ist.Welche Länder und Netzbetreiber unterstützen welche Eigenschaft?
AbrechnungDie Basisabfrage wird einmal berechnet. Optionale Eigenschaften werden nur bei Auslieferung berechnet, fehlgeschlagene Eigenschaften nicht.Was kostet eine unbeantwortete Eigenschaft, und welche Zusatzoptionen ändern die Rechnung?

Die eingestuften Alternativen dokumentieren unterschiedliche Abwägungen. Twilio Lookup bietet grundlegende Formatierung und Validierung. Optionale Pakete decken Leitungstyp, Leitungsstatus, SIM-Swap, Identität, Anrufername, neu vergebene Nummern und Risikosignale ab. Abdeckung und Genehmigungsbedingungen variieren je nach Paket und Markt.

Abstract APIs Dokumentation zur Telefonvalidierung beschreibt Gültigkeit, Land, Netzbetreiber und Leitungstyp. Veriphones Seite zu Validierung und Netzbetreiber-Abfrage beschreibt Gültigkeit, Land, Netzbetreiber, Leitungstyp und aktuellen Netzbetreiber. Beide veröffentlichen separate Abdeckungs- und Kreditregeln. Dokumentierte Abdeckung, Verhalten bei unbekannten Ergebnissen und Abrechnung jedes Anbieters bestimmen, ob er zu einer Registrierungs- oder Routing-Entscheidung passt.

Wie frage ich eine Nummer auf Bird ab?

Senden Sie die Nummer an den Lookup-Endpunkt. Lesen Sie die Blöcke, die Sie angefordert haben.

POST /v1/lookup/phone-number nimmt eine phone_number und ein optionales type-Array entgegen. Jede Abfrage liefert Zustell- und ausgebendes Netz, den Portierungsstatus, das Land und den Leitungstyp. Das type-Array ergänzt classification, porting, presence, roaming, sim_swap oder score, jeweils separat berechnet und nur bei Auslieferung. Die Abfrage kontaktiert die Nummer nicht.

Die Wiederverwendung einer Idempotency-Key liefert das gespeicherte Ergebnis, statt eine zweite Abfrage durchzuführen und zu berechnen. Der Lookup-Leitfaden behandelt den Ablauf und die API-Referenz behandelt die Felder.

Kurz gesagt

  1. Gültig bedeutet, dass der Bereich existiert, nicht dass die Nummer vergeben ist.

    Googles Telefonnummern-Bibliothek definiert einen gültigen Bereich als einen, aus dem Netzbetreiber Nummern frei an Nutzer vergeben können.

  2. Ein verbundener Anruf beweist nicht, dass eine Nummer gültig ist.

    Manche Länder ignorieren überzählige Ziffern am Ende, und manche Netzbetreiber halten alte Nummern während einer Umnummerierung noch lange funktionsfähig, nachdem sie anderswo nicht mehr funktionieren.

  3. Nur eine Abfrage beweist den Besitz.

    Einen Code zu senden und ihn zurückzubekommen ist die einzige Prüfung, die feststellt, wer die Nummer besitzt. Deshalb existiert die Verifizierung als separater Schritt.

  4. Eine unbeantwortete Prüfung ist keine negative Antwort.

    Bird meldet jede angeforderte Eigenschaft mit ihrem eigenen Status, sodass eine Eigenschaft, die niemand beantworten konnte, von einer mit Nein beantworteten unterscheidbar bleibt.

Bauen Sie auf demselben Netzwerk auf.

Ein Test-API-Schlüssel steht Ihnen sofort zur Verfügung. Der Produktivbetrieb wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Ihre nächste Idee. Bereit zur Verbindung.