Phone API — Eine Telefonnummer validieren und standardisieren

Support DQE
Support DQE
  • Aktualisiert
Phone-Validierung – Classic API

Der Endpunkt /TEL/ validiert und standardisiert eine Festnetz- oder Mobiltelefonnummer, mit optionaler Stufe-2-Prüfung für französische Mobilfunknummern.

Wann sollten Sie diesen Endpunkt verwenden - Rufen Sie /TEL/ über die klassische XML/formularbasierte Integration von DQE auf, um eine Telefonnummer zu validieren und Carrier sowie Typ abzurufen. Suchen Sie stattdessen die moderne JSON-Integration? Siehe Restful Phone API (/phonelookup) →

/TEL/

Anfrage

Sowohl GET als auch POST werden unterstützt.

{SERVER_ADDRESS} und {LICENCE_CODE} werden von DQE bei der Kontoerstellung bereitgestellt. Wenden Sie sich an Ihren DQE-Kundenbetreuer, um diese Zugangsdaten zu erhalten.
GEThttps://{SERVER_ADDRESS}/TEL/?Pays={COUNTRY_CODE}&Tel={TEL}&Format={FORMAT}&Status=Y&TimeOut={TIME}&Separator={SYMBOL}&Licence={LICENCE_CODE}

Codebeispiele

Gültige Mobilfunknummer

curl "https://{SERVER_ADDRESS}/TEL/?Pays=FRA&Tel=0611223344&Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/TEL/?" + new URLSearchParams({ Pays: "FRA", Tel: "0611223344", Licence: "{LICENCE_CODE}" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/TEL/", params={ "Pays": "FRA", "Tel": "0611223344", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $params = http_build_query([ 'Pays' => 'FRA', 'Tel' => '0611223344', 'Licence' => '{LICENCE_CODE}', ]); $ch = curl_init("https://{SERVER_ADDRESS}/TEL/?{$params}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); axios.get('https://{SERVER_ADDRESS}/TEL/', { params: { Pays: 'FRA', Tel: '0611223344', Licence: '{LICENCE_CODE}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/TEL/" + "?Pays=FRA&Tel=0611223344&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); var url = "https://{SERVER_ADDRESS}/TEL/" + "?Pays=FRA&Tel=0611223344&Licence={LICENCE_CODE}"; var response = await client.GetAsync(url); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "fmt" "io" "net/http" ) func main() { url := "https://{SERVER_ADDRESS}/TEL/" + "?Pays=FRA&Tel=0611223344&Licence={LICENCE_CODE}" resp, err := http.Get(url) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }
POSThttps://{SERVER_ADDRESS}/TEL/

Senden Sie alle Parameter im Request-Body im Format Content-Type: application/x-www-form-urlencoded. Die Serveradresse bleibt in der URL.

Codebeispiele

Gültige Mobilfunknummer

curl -X POST "https://{SERVER_ADDRESS}/TEL/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Pays=FRA" \ -d "Tel=0611223344" \ -d "Licence={LICENCE_CODE}"
fetch("https://{SERVER_ADDRESS}/TEL/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Pays: "FRA", Tel: "0611223344", Licence: "{LICENCE_CODE}" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/TEL/", data={ "Pays": "FRA", "Tel": "0611223344", "Licence": "{LICENCE_CODE}", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/TEL/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Pays' => 'FRA', 'Tel' => '0611223344', 'Licence' => '{LICENCE_CODE}', ])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const qs = require('querystring'); axios.post('https://{SERVER_ADDRESS}/TEL/', qs.stringify({ Pays: 'FRA', Tel: '0611223344', Licence: '{LICENCE_CODE}' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Pays=FRA&Tel=0611223344&Licence={LICENCE_CODE}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/TEL/")) .header("Content-Type", "application/x-www-form-urlencoded") .POST(HttpRequest.BodyPublishers.ofString(form)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); var form = new Dictionary<string, string> { ["Pays"] = "FRA", ["Tel"] = "0611223344", ["Licence"] = "{LICENCE_CODE}" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/TEL/", new FormUrlEncodedContent(form)); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "fmt" "io" "net/http" "net/url" ) func main() { form := url.Values{} form.Set("Pays", "FRA") form.Set("Tel", "0611223344") form.Set("Licence", "{LICENCE_CODE}") resp, err := http.PostForm("https://{SERVER_ADDRESS}/TEL/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Parameter

Parameter Beschreibung Pflicht/Optional
Licence Ihrem Konto zugewiesener Lizenzcode. Wenden Sie sich an den Support, falls Sie noch keinen haben. Pflicht
Pays ISO-3-Buchstaben-Ländercode. Pflicht
Tel Zu validierende Telefonnummer. Pflicht
Format Gewünschte Formatierungsstufe. Siehe die Tabelle der Formatwerte unten. Optional
Status Y aktiviert die Stufe-2-Prüfung für französische Mobilfunknummern und gibt die zusätzlichen Felder Status und LabelStatus zurück. Optional
TimeOut Maximale Abfragezeit für die Überprüfung, in Sekunden. Beispiel: 0.5 für 500 ms. Optional
Separator Trennzeichen, das in der formatierten Telefonnummer verwendet wird. Zulässige Werte: - und .. Funktioniert nur bei Formaten, die Leerzeichen verwenden (1, 2, 3, 4, 6). Optional

Formatwerte

Die folgenden Werte gelten für den Parameter Format sowohl bei GET- als auch bei POST-Anfragen.

Wert Beschreibung Beispiele (Deutschland / Frankreich / USA)
0 Nationales Format ohne Leerzeichen 0301234567 / 0123456789 / (202)555-0123
1 Nationales Format mit länderspezifischer Zifferngruppierung 030 1234567 / 01 23 45 67 89 / (202) 555-0123
2 Internationales Format mit länderspezifischer Zifferngruppierung +49 30 1234567 / +33 1 23 45 67 89 / +1 202-555-0123
3 Internationales Format mit Leerzeichen zwischen Landesvorwahl und Teilnehmernummer +49 301234567 / +33 123456789 / +1 2025550123
4 Internationales Format mit Trunk-Präfix und kompakter Teilnehmernummer +49 (0)301234567 / +33 (0)123456789 / +1 (0)2025550123
5 Internationales Format ohne Leerzeichen +49301234567 / +33123456789 / +12025550123
6 Internationales Format mit Trunk-Präfix und länderspezifischer Zifferngruppierung +49 (0) 30 1234567 / +33 (0) 1 23 45 67 89 / +1 (0) (202) 555-0123
7 Nationales Format mit durch Punkte getrennter länderspezifischer Zifferngruppierung 030.1234567 / 01.23.45.67.89 / (202).555-0123
8 Internationales Format mit durch Punkte getrennter länderspezifischer Zifferngruppierung +49.30.1234567 / +33.1.23.45.67.89 / +1.202-555-0123
9 Internationales Format ohne Leerzeichen und ohne führendes Pluszeichen 49301234567 / 33123456789 / 1202-555-0123

Antwort

Bei Erfolg gibt die API ein JSON-Objekt mit einem einzelnen Schlüssel "1" zurück — ein Legacy-Artefakt dieser Endpunkt-Implementierung — das die eigentlichen Ergebnisfelder unten umschließt.

Stufe 1 vs. Stufe 2 - TelOrigine, Geolocation, Tel, Operator, IdError, OldOperator und Type werden immer zurückgegeben (Stufe-1-Prüfung: Existenz und Format der Telefonnummer). LabelStatus und ein aktualisierter Status-Wert werden nur hinzugefügt, wenn Status=Y in der Anfrage übergeben wird (Stufe-2-Prüfung, nur französische Mobilfunknummern).

Felder der Stufe-1-Prüfung

Schlüssel Beschreibung Typ
TelOrigine Analysierte Telefonnummer. String
Geolocation Ort, an dem die Nummer ursprünglich zugewiesen wurde. String
Tel Telefonnummer, formatiert gemäß dem gewählten Format. String
Ported Leer bei der Stufe-1-Prüfung. String
Operator Betreiber, dem die Telefonnummer ursprünglich zugewiesen wurde. String
IdError 2: gültige Syntax; 1: gültig und zugewiesen; 0: ungültige oder nicht existierende Nummer. Integer
OldOperator Ursprünglicher Betreiber der Telefonnummer. String
Type MOBILE oder FIXED_LINE oder FIXED_LINE_OR_MOBILE oder leer. String

Felder der Stufe-2-Prüfung

Warnung: Informationen zur Erreichbarkeit werden nicht mehr bereitgestellt. Diese Variable wird aus historischen Gründen beibehalten.

Die Stufe-2-Prüfung liefert Informationen zum Aktivitätsstatus und zum Betreiber. Aktivieren Sie sie, indem Sie Status=Y in der Anfrage übergeben. Die JSON-Antwort enthält die folgenden zusätzlichen (oder aktualisierten) Felder:

Schlüssel Beschreibung Typ
Ported Y, wenn die Nummer portiert wurde, andernfalls N. String(1)
Operator Aktueller Betreiber der Telefonnummer. String
OldOperator Vorheriger Betreiber, wenn die Nummer portiert wurde. String
LabelStatus Reachable oder No reachable information (nur bei Mobilfunknummern). String
Status 0: erreichbar; 1: keine Erreichbarkeitsinformation. String

Antwortbeispiel

Stufe 1 (Standard)
{ "1": { "TelOrigine": "+12XXXXXXXXX", "Geolocation": "UNITED STATES OF AMERICA", "Tel": "+12345678910", "Ported": "", "Operator": "FIRST COMMUNICATIONS", "IdError": 1, "OldOperator": "FIRST COMMUNICATIONS", "Type": "MOBILE" } }
Stufe 2 (mit Status=Y)
{ "1": { "TelOrigine": "0XXXXXXXXX", "Geolocation": "FRANCE", "LabelStatus": "Not Reachable", "Tel": "0XXXXXXXXX", "Ported": "N", "Status": "1", "Operator": "ORANGE", "IdError": 1, "OldOperator": "", "Type": "MOBILE" } }

Fehler

Fehlertyp Antworttyp
Fehlender Parameter Licence Fehler Licence Down in der JSON-Antwort.
Leerer Parameter Licence Fehler Licence Down in der JSON-Antwort.
Falsche Lizenznummer Fehler Licence Down in der JSON-Antwort.
Fehlender oder leerer Parameter Tel 400 Bad Request
Tippfehler im Parameter 400 Bad Request

Beispiel für einen Lizenzfehler:

{ "1": { "TelOrigine": "06XXXXXXXX", "Geolocation": "", "Tel": "", "Ported": "", "Operator": "", "IdError": 0, "OldOperator": "", "Error": "Licence Down" } }

API testen

Klicken Sie auf die Schaltfläche unten, um diesen Endpunkt live in Ihrem Browser zu testen.

Konsole öffnen

Siehe auch

Verknüpfung mit

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich