Normalisierung von Telefonnummern auf E.164 in BigQuery für Abfragen
Normalisieren Sie Telefonnummern in BigQuery für CarrierLookup: Bewahren Sie Rohdaten, entfernen Sie Trennzeichen und nutzen Sie verlässliche Ländercodes.

Um Telefonnummern auf E.164 zu normalisieren, bewahren Sie die ursprüngliche Spalte, entfernen Sie Präsentationszeichen in einer Arbeitsspalte und fügen Sie einen Ländercode nur dann hinzu, wenn ein autoritatives Länderfeld diese Wahl stützt. Behalten Sie für Echtzeitanfragen an CarrierLookup ein führendes Pluszeichen bei. Exportieren Sie für eine Dateiaufgabe mit einem Land die mit Ländercode versehenen Ziffern und gleichen Sie die zurückgegebene CSV-Datei mithilfe eines stabilen Schlüssels ab.
Bewahren Sie die ursprüngliche Nummer und ihren Herkunftsnachweis
Überschreiben Sie während der Bereinigung nicht die einzige Kopie einer Telefonnummer. Erstellen Sie separate Spalten für den Rohwert, das Herkunftsland, den normalisierten Kandidaten sowie einen Grund für die Ablehnung oder manuelle Überprüfung. Eine Quelle kann eine nationale Vorwahl, ein lokales Format oder einen inkonsistent geschriebenen Ländercode enthalten. Ein regulärer Ausdruck kann zwar Satzzeichen entfernen, aber er kann nicht entscheiden, zu welchem Land eine Nummer gehört. Diese Entscheidung erfordert ein vertrauenswürdiges Länderfeld oder andere autorisierte Quellnachweise.
Die ITU E.164 recommendation definiert die internationale Nummerierungsstruktur. Echtzeitabfragen bei CarrierLookup erfordern ein führendes +, den Ländercode und die Teilnehmernummer ohne Leerzeichen oder Trennzeichen. Ein Kandidat, der lediglich wie Ziffern aussieht, ist nicht automatisch eine gültige Nummer. Halten Sie unsichere Werte aus dem Abfragesatz heraus, bis eine Person oder eine validierte Nummerierungsregel diese auflöst.
Planen Sie die Exportform von Anfang an. Echtzeit-Multi-Anfragen können Nummern aus verschiedenen Ländern enthalten und in der Reihenfolge der Eingabe zurückgegeben werden. Die Bulk-Dateiaufgabe von CarrierLookup akzeptiert Nummern aus einem ausgewählten Land. Teilen Sie einen Datensatz mit gemischten Ländern anhand einer zuverlässigen Länderzuordnung auf, bevor Sie Dateien vorbereiten; wählen Sie ein Land nicht allein anhand der ersten Ziffern aus.
Verwenden Sie BigQuery-Funktionen für die mechanische Bereinigung
Googles BigQuery string-function reference dokumentiert REGEXP_REPLACE, REGEXP_CONTAINS und verwandte Funktionen. Verwenden Sie diese für mechanische Transformationen, wie das Entfernen von Leerzeichen, Klammern und Bindestrichen aus einer Kopie des Quellwerts. Ein einfacher Ausdruck wie REGEXP_REPLACE(raw_phone, r'[^0-9+]', '') kann einen Prüfkandidaten erstellen, aber er kann auch ein unerwartetes internes Pluszeichen beibehalten. Folgen Sie diesem mit einem Format-Test und einem Quarantäne-Pfad, anstatt jede Ausgabe an die API zu senden.
Für Daten, die bereits mit einem vertrauenswürdigen führenden Pluszeichen und Ländercode gespeichert sind, kann ein Kandidatenausdruck Trennzeichen entfernen und dabei das Pluszeichen beibehalten. Verwenden Sie für lokale Nummern eine länderspezifische Normalisierungsregel, die anhand aktueller Nummerierungsrichtlinien überprüft wurde. Eine allgemeine Regel wie „CRM-Ländercode voranstellen“ ist riskant, wenn der ursprüngliche Wert bereits einen Ländercode oder eine nationale Vorwahl enthält. Dokumentieren Sie die spezifische Transformation, die auf jeden Quelltyp angewendet wurde, und prüfen Sie die Ausgabe stichprobenartig vor dem Export.
Eine praktische Staging-Tabelle enthält raw_phone, country_source, normalized_e164, normalization_rule und review_status. Erstellen Sie die Abfrageeingabe nur aus Zeilen, die als bereit markiert sind. Dies verhindert, dass ein abgelehntes Format fälschlicherweise als Ergebnis ohne Netzbetreiber interpretiert wird, und macht Korrekturen umkehrbar.
Vorbereitung des Echtzeit-Multi-Pfads
Exportieren Sie für einen kleinen Satz bereiter Daten E.164-Zeichenfolgen, wie etwa + gefolgt von den mit Ländercode versehenen Ziffern, an den REST-Multi-Workflow. Der Endpunkt POST /api/v1/batch-check akzeptiert 1–100 Nummern und gibt ein geordnetes, synchrones Ergebnis zurück. Speichern Sie eine positionsbezogene Zuordnung vom Anfrageelement zum Quellzeilenschlüssel, bevor Sie den Aufruf senden. Verlassen Sie sich nicht allein auf identische Telefonwerte, wenn das CRM Duplikate enthält.
Lesen Sie den identifier und den exists-Status jedes zurückgegebenen Elements. exists=false bedeutet, dass das Element kein normales Ergebnis hat; es ist keine Aussage darüber, dass die Nummer abgeschaltet ist. Ein erfolgreiches Ergebnis kann den Netzbetreiber, den zugrunde liegenden Netzbetreiber, den Nummerntyp, den Ländercode, die Region und die Stadt enthalten, wobei optionale Felder leer sein können. Behalten Sie die Prüfzeit und die Eingabeassoziation jedes Ergebnisses in der Staging-Tabelle bei.
Die Einzelabfrage verwendet dieselbe E.164-Form, wenn ein Operator einen Datensatz überprüfen muss. Authentifizieren Sie sich von einem vertrauenswürdigen Server aus unter Verwendung des dokumentierten X-API-Key-Headers. Dieser Workflow bietet Datenteams eine Möglichkeit, die Normalisierung an einer Stichprobe zu testen, bevor eine wesentlich größere vorbereitete Liste gesendet wird.
Vorbereitung von Dateiaufgaben für ein Land
Erstellen Sie für eine große Liste eine einspaltige TXT- oder CSV-Datei mit einer Nummer mit Ländercode pro Zeile und wählen Sie das entsprechende ISO-Land für die Bulk-Aufgabe aus. Die dokumentierte Eingabe muss zu diesem ausgewählten Land gehören. Bei einer mehrteiligen Übermittlung muss das Länderfeld der Datei vorangestellt werden. Die Bulk-Vorbereitung entfernt ungültige Zeilen, Duplikate, Zeilen ohne Ländercode und Nummern außerhalb des ausgewählten Landes. Überprüfen Sie die Vorbereitungsanzahlen, bevor Sie den Quell-Export als vollständig verarbeitet betrachten.
Die Bulk-Aufgabe ist asynchron: Übermitteln Sie sie mit POST /api/v1/bulk-tasks, speichern Sie die Aufgaben-ID und fragen Sie GET /api/v1/bulk-tasks/{id} nicht öfter als alle 30 Sekunden ab. Eine erfolgreiche Aufgabe liefert eine CSV-Datei. Sie meldet den Bezeichner als einfache Ziffern mit Ländercode ohne Pluszeichen. Das unterscheidet sich von der Form der Echtzeitanfrage, verknüpfen Sie das Ergebnis daher nicht durch direkte Zeichenfolgen-Gleichheit mit einem Roh-Telefonfeld.
Erstellen Sie aus jedem akzeptierten E.164-Kandidaten einen normalisierten Join-Schlüssel, der nur aus Ziffern besteht, und behalten Sie den Quellzeilenschlüssel separat bei. Wenn die Eingabe doppelte Nummern enthält, kann die Bulk-Vorbereitung diese zusammenführen; entscheiden Sie, ob ein Ergebnis mehreren Quelldatensätzen zugeordnet werden soll. Gleichen Sie nicht übereinstimmende, ungültige und doppelte Quellzeilen außerhalb der Ergebnis-CSV ab.
Überprüfung der verknüpften Daten vor CRM-Aktualisierungen
Der resultierende Netzbetreiber beschreibt die ursprüngliche Zuteilung, nicht den aktuell versorgenden Netzbetreiber nach einer Portierung. Region und Stadt sind die Geografie der Zuteilung und nicht der aktuelle Standort. Nehmen Sie diese Beschreibungen in das Datenwörterbuch auf, damit Analysten einen Feldnamen nicht mit einem Nachweis darüber verwechseln, wo sich eine Person aktuell befindet. Ein abgeschlossenes Echtzeitergebnis mit code=0 kann leere optionale Netzbetreiberfelder aufweisen; behalten Sie leere Felder als nicht verfügbar bei, anstatt ein negatives Label zu generieren.
Prüfen Sie stichprobenartig verknüpfte Zeilen aus verschiedenen Quellsystemen und Ländern. Überprüfen Sie, ob sich die Rohnummer, die normalisierte E.164-Form, der Schlüssel aus reinen Ziffern und der Ergebnisbezeichner auf dieselbe Eingabe beziehen. Untersuchen Sie Unstimmigkeiten in der Staging-Tabelle, bevor Sie Werte in das CRM schreiben. Behalten Sie den Zeitstempel der Abfrage bei, da der Zuteilungskontext später erneut betrachtet werden kann und sich der Quelldatensatz selbst ändern kann.
Diese Pipeline trennt drei Aufgaben: BigQuery bereinigt eine bekannte Darstellung, CarrierLookup liefert dokumentierte Zuteilungsfelder und das CRM-Team entscheidet, ob und wie der Kontakt aktualisiert wird. Diese Aufteilung macht Fehler sichtbar und hält das Netzbetreiber-Ergebnis innerhalb seiner korrekten Bedeutung.
FAQ
Wie können Teams Trennzeichen in Telefonnummern in BigQuery entfernen?
Verwenden Sie eine Arbeitskopie und dokumentierte Zeichenfolgenfunktionen wie REGEXP_REPLACE und validieren Sie dann den Kandidaten gegen die erwartete E.164-Form.
Wie können Teams einer lokalen Nummer einen Ländercode zuweisen?
Verwenden Sie ein zuverlässiges Länderfeld und eine überprüfte länderspezifische Regel. Stellen Sie Zeilen unter Quarantäne, deren Land oder Wählform mehrdeutig ist.
Wie können Teams eine Bulk-CSV mit einer E.164-Eingabe verknüpfen?
Erstellen Sie einen stabilen Schlüssel aus reinen Ziffern aus akzeptierten E.164-Kandidaten und gleichen Sie diesen mit dem Bulk-CSV-Bezeichner ab, während Sie die Quellzeilen-IDs beibehalten.
Wie können Teams eine Liste mit gemischten Ländern handhaben?
Verwenden Sie Echtzeit-Multi-Anfragen für einen kleinen Satz mit gemischten Ländern oder teilen Sie große Dateien nach einer vertrauenswürdigen Länderzuordnung auf, bevor Sie die Bulk-Übermittlung durchführen.
Mehr erfahren
Wählen Sie die Produktinformationen, die zum nächsten Schritt in Ihrem Workflow passen.