Telefonnummern-Lookup
Wissen, was eine Nummer ist. Bevor Sie an sie senden.
Ein POST, eine Antwort, keine Ressource zum Erstellen oder Abfragen. Der Basis-Lookup liefert das Land der Nummer, das Netz, das sie aktuell bedient, das Netz, das ihren Nummernblock vergeben hat, ein Flag, ob sie zwischen beiden gewechselt hat, und den Leitungstyp. Fünf weitere Eigenschaften erhalten Sie, indem Sie sie benennen.
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["classification", "porting"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name);
// → "KPN"
console.log(answer.original_network_info?.carrier_name);
// → "Vodafone"
console.log(answer.flags);
// → ["ported"]
if (answer.porting?.status === "ok") {
console.log(answer.porting.ported, answer.porting.last_ported_at);
// → true "2021-04-18T00:00:00Z"
}
Beispiel-Lookup
Kennen Sie die Nummer.
Täglich vertraut von Teams, die erstklassige Software entwickeln
Weitere Kundenberichte lesenZwei Netze und die Lücke dazwischen.
Diese Lücke ist das, was Portierung in einer Antwort aussieht.
Telefonnummern-Lookup ist eine der beiden Operationen in der Bird Lookup API. Senden Sie eine Nummer im internationalen Format, mit oder ohne führendes Plus, und Sie erhalten country_code, einen network_info-Block für den aktuellen Netzbetreiber und einen original_network_info-Block für den Netzbetreiber, dem der Nummernblock zugewiesen wurde. Wenn beide voneinander abweichen, wurde die Nummer portiert, und flags zeigt das an. Rein nationale Nummern werden abgelehnt statt geraten, sodass eine fehlerhafte Eingabe laut fehlschlägt, anstatt eine plausible Antwort über das falsche Land zurückzugeben.
Was zurückkommt und wann.
Die ersten drei kommen bei jedem Lookup. Die übrigen kommen, wenn Sie sie in type benennen.
- 01
Land und beide Netzbetreiber.
country_code ist das ISO-Land des Nummernblocks und fehlt bei nicht-geografischen Nummern, statt geraten zu werden. network_info und original_network_info enthalten jeweils einen Betreibernamen plus Mobile Country Code und Mobile Network Code – genau das, was Sie brauchen, wenn Sie nach MCC und MNC statt nach einem Namen routen.
- 02
Leitungstyp, aus einer geschlossenen Liste.
mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other oder unknown. Die Liste ist geschlossen, sodass ein Switch darüber vollständig bleibt, und es ist das Feld, das Sie prüfen sollten, bevor Sie entscheiden, ob eine SMS überhaupt möglich ist.
- 03
Das Portierungs-Flag, ohne Aufpreis.
flags enthält ported, wenn die Nummer irgendwann das Netz gewechselt hat. Es kommt mit der Basisantwort, sodass die günstige Frage, ob eine Nummer jemals portiert wurde, keine zusätzliche Eigenschaft erfordert.
- 04
classification, eine zweite Einschätzung zum Leitungstyp.
Eine feinere Auswertung aus einer anderen Quelle, mit Werten, die line_type nicht kennt: fixed_line_or_mobile, shared_cost, national_rate, personal_number, isp, voice_mail, short_codes und weitere. Sie steht neben line_type in der Antwort, statt ihn zu ersetzen, sodass Sie beide vergleichen können, wenn eine Nummer ungewöhnlich aussieht.
- 05
porting, mit Daten und einer Historie.
ported als Boolean, last_ported_at als Zeitstempel, last_ported_at_is_approximate wenn das Register nur den Monat kennt, und history als Liste der Portierungsereignisse, ältestes zuerst. Jedes Ereignis enthält einen registerspezifischen Aktionscode, den es sich lohnt anzuzeigen, aber nicht, darauf zu verzweigen.
- 06
presence und roaming, live aus dem Netz.
presence fragt das Netz ab und meldet reachable – das kommt der Frage, ob die Leitung eingeschaltet ist, am nächsten. roaming meldet is_roaming plus MCC und MNC des besuchten Netzes, sodass eine Registrierung von einer Nummer in einem ausländischen Netz sichtbar wird, statt nur vermutet.
- 07
score, eine einzelne Zahl von 0 bis 100.
Ein zusammengesetzter Vertrauensscore. Er lässt sich nicht aus den anderen Eigenschaften ableiten, und genau dafür fragt man ihn ab: ein einzelner Integer, an dem Sie in einem Registrierungsablauf einen Schwellenwert setzen können, ohne selbst Regeln über Betreibernamen und Leitungstypen zu schreiben.
Jede Eigenschaft sagt Ihnen, ob sie geantwortet hat.
Jeder Block trägt seinen eigenen Status: ok, unavailable oder inconclusive. Nur ok enthält einen Wert. Sie müssen also nie eine Antwort inspizieren, um festzustellen, dass sie leer ist, und ein Feld ohne Wert wird weggelassen statt auf null gesetzt. Die Abrechnung folgt derselben Linie. Der Basis-Lookup wird einmal berechnet, eine Eigenschaft wird nur berechnet, wenn ihr Status ok ist, und ein fehlgeschlagener Lookup kostet nichts.
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["presence", "roaming", "score"],
});
// Only a block whose status is ok carries a value.
if (answer.presence?.status === "ok") {
console.log(answer.presence.reachable);
}
if (answer.roaming?.status === "ok") {
console.log(answer.roaming.is_roaming, answer.roaming.mcc, answer.roaming.mnc);
}
// unavailable and inconclusive both mean no value, and no charge.
if (answer.score?.status !== "ok") {
console.log("no credibility score on this answer");
}
Eine Nummer pro Anfrage.
Es gibt bewusst keine Batch-Variante: Ein Lookup ist eine Live-Abfrage gegen Netzbetreiberdaten, und ein Batch würde verbergen, welche von tausend Zeilen beantwortet wurde und welche nicht. Die Begrenzung der Anfragerate beginnt bei 10 Anfragen pro Minute pro Berechtigung, und Lookup hat ein eigenes Budget, sodass das Prüfen von Nummern nie Ihr Sendekontingent belastet. Senden Sie einen Idempotency-Key, und ein erneuter Versuch liefert die bereits bezahlte Antwort, statt eine zweite zu kaufen.
Mehr Details in der Dokumentation.
Telefonnummer nachschlagen führt durch die Anfrage und jedes Feld, das sie zurückgeben kann. Die Lookup-Übersicht behandelt beide Operationen und die Eigenschaftsstatus auf einer Seite, Begrenzung der Anfragerate dokumentiert die Lookup-Gruppe, und Idempotenz erklärt, was eine wiederholte Antwort kostet.
Fragen zum Telefonnummern-Lookup, beantwortet.
Formatierung, Leitungstypen, Portierung und was ein Lookup nicht kann.
Was beantwortet eine Telefonnummern-Abfrage?
Wie sollte ich die Nummer schreiben?
Warum wurde meine Nummer abgelehnt?
Welche Leitungstypen kann die Abfrage zurückgeben?
Wie erkenne ich, ob eine Nummer portiert wurde?
Warum fehlt country_code in meiner Antwort?
Ruft eine Abfrage die Nummer an oder sendet ihr eine Nachricht?
In die Praxis umsetzen.
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
Der Rest von Lookup
Ein API-Schlüssel, eine Fehlerantwort. Entdecken Sie die andere Fähigkeit.
Führen Sie Ihren ersten Lookup mit einer Nummer durch, die Sie kennen.
Das Dashboard führt dieselbe Operation jeweils für eine Nummer aus – der schnellste Weg, ein Ergebnis zu sehen, bevor Sie Code schreiben.