Phone number lookup

Ketahui apa itu sebuah nomor. Sebelum Anda mengirim ke sana.

Satu POST, satu jawaban, tanpa resource yang perlu dibuat atau di-poll. Lookup dasar mengembalikan negara nomor, jaringan yang melayaninya saat ini, jaringan yang menerbitkan rangkaiannya, tanda apakah nomor tersebut telah berpindah di antara keduanya, dan jenis salurannya. Lima properti tambahan bisa Anda dapatkan cukup dengan menyebutkan namanya.

phone-number.ts
200
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"
}

Dua jaringan, dan jarak di antara keduanya.

Jarak itulah tampilan porting dalam sebuah respons.

Phone number lookup adalah salah satu dari dua operasi dalam Bird Lookup API. Kirim nomor dalam format internasional, dengan atau tanpa tanda plus di depan, dan Anda akan mendapatkan country_code, blok network_info untuk operator yang melayani nomor saat ini, serta blok original_network_info untuk operator yang dialokasikan rangkaiannya. Ketika keduanya berbeda, nomor tersebut telah di-porting, dan flags menyatakannya. Nomor khusus nasional ditolak alih-alih ditebak, sehingga input yang salah gagal secara jelas alih-alih mengembalikan jawaban yang masuk akal tentang negara yang salah.

Apa yang dikembalikan, dan kapan.

Tiga yang pertama hadir di setiap lookup. Sisanya hadir ketika Anda menyebutkannya di type.

  1. 01

    Negara dan kedua operator.

    country_code adalah negara ISO dari rangkaian tersebut, dan tidak ada untuk nomor non-geografis alih-alih ditebak. network_info dan original_network_info masing-masing membawa nama operator beserta kode negara dan jaringan seluler, yang Anda butuhkan jika melakukan routing berdasarkan MCC dan MNC alih-alih berdasarkan nama.

  2. 02

    Jenis saluran, dari daftar tertutup.

    mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other, atau unknown. Daftarnya tertutup, sehingga switch di atasnya tetap lengkap, dan ini adalah field yang perlu diperiksa sebelum Anda memutuskan apakah SMS bahkan memungkinkan.

  3. 03

    Flag ported, tanpa biaya tambahan.

    flags membawa ported ketika nomor telah berpindah jaringan kapan pun. Ini hadir bersama jawaban dasar, sehingga pertanyaan murah apakah sebuah nomor pernah di-porting tidak memerlukan properti sama sekali.

  4. 04

    classification, opini kedua tentang saluran.

    Pembacaan yang lebih detail dari sumber berbeda, dengan nilai yang tidak dimiliki line_type: fixed_line_or_mobile, shared_cost, national_rate, personal_number, isp, voice_mail, short_codes, dan lainnya. Ini berada di samping line_type dalam respons alih-alih menggantikannya, sehingga Anda bisa membandingkan keduanya ketika sebuah nomor terlihat tidak biasa.

  5. 05

    porting, dengan tanggal dan riwayat.

    ported sebagai boolean, last_ported_at sebagai timestamp, last_ported_at_is_approximate ketika registri hanya mengetahui bulannya, dan history sebagai daftar peristiwa porting dari yang paling lama. Setiap peristiwa membawa kode aksi spesifik registri, yang layak ditampilkan tetapi tidak layak dijadikan percabangan.

  6. 06

    presence dan roaming, dari jaringan langsung.

    presence mengirimkan kueri ke jaringan dan melaporkan reachable, yang merupakan hal terdekat dengan bertanya apakah saluran tersebut menyala. roaming melaporkan is_roaming beserta MCC dan MNC dari jaringan yang dikunjungi, sehingga pendaftaran dari nomor yang berada di jaringan asing adalah sesuatu yang bisa Anda lihat, bukan sekadar disimpulkan.

  7. 07

    score, satu angka dari 0 sampai 100.

    Skor kredibilitas komposit. Ini tidak bisa diturunkan dari properti lain, dan itulah alasan memintanya: satu integer yang bisa Anda jadikan ambang batas dalam alur pendaftaran tanpa perlu menulis aturan sendiri berdasarkan nama operator dan jenis saluran.

Setiap properti memberi tahu apakah ia menjawab.

Setiap blok membawa statusnya sendiri: ok, unavailable, atau inconclusive. Hanya ok yang membawa nilai, sehingga Anda tidak perlu memeriksa respons untuk mengetahui bahwa isinya kosong, dan field tanpa nilai dihilangkan alih-alih diatur ke null. Penagihan mengikuti logika yang sama. Lookup dasar ditagih sekali, properti ditagih hanya ketika statusnya ok, dan lookup yang gagal tidak ditagih sama sekali.

properties.ts
200 · partial
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");
}

Satu nomor per permintaan.

Tidak ada bentuk batch, secara sengaja: lookup adalah kueri langsung terhadap data operator, dan batch akan menyembunyikan mana dari seribu baris yang terjawab dan mana yang tidak. Batas rate dimulai dari 10 permintaan per menit per kredensial aktif dan Lookup memiliki anggarannya sendiri, sehingga penyaringan nomor tidak pernah memakan jatah pengiriman Anda. Kirim Idempotency-Key dan percobaan ulang akan memutar ulang jawaban yang sudah Anda bayar alih-alih membeli yang kedua.

Pelajari lebih dalam di dokumentasi.

Mencari phone number memandu permintaan dan setiap field yang bisa dikembalikan. Gambaran umum Lookup mencakup kedua operasi dan status properti dalam satu halaman, batas rate mendokumentasikan grup lookup, dan idempotensi menjelaskan biaya jawaban yang diputar ulang.

Pertanyaan tentang phone number lookup, terjawab.

Format, jenis saluran, porting, dan apa yang tidak dilakukan oleh lookup.

Apa yang dijawab oleh pencarian nomor telepon?
Pencarian dasar menjawab negara nomor tersebut, jaringan yang melayaninya saat ini, jaringan yang menerbitkan rentang nomornya, apakah nomor tersebut pernah berpindah jaringan, dan jenis saluran secara umum. Pencarian dasar selalu dijalankan, dan jika tidak dapat dijawab, seluruh permintaan gagal alih-alih mengembalikan jawaban setengah kosong.
Bagaimana cara menulis nomornya?
Kode panggilan negara terlebih dahulu, lalu nomor nasional. Tanda plus di depan bersifat opsional dan 00 dapat digunakan sebagai pengganti, jadi +31612345678, 31612345678, dan 0031612345678 semuanya adalah nomor yang sama.
Mengapa nomor saya ditolak?
Nomor yang ditulis untuk panggilan di dalam satu negara, tanpa kode negara, mengembalikan E22000 alih-alih ditebak. Menambahkan kode negara ke 0612345678 akan merujuk ke nomor nyata di tempat lain dan menagih Anda untuk pencarian nomor tersebut.
Jenis saluran apa saja yang dapat dikembalikan?
mobile, fixed_line, voip, toll_free, premium_rate, satellite, pager, payphone, m2m, service, other, atau unknown. unknown berarti platform operator tidak memiliki klasifikasi untuk rentang tersebut, dan other berarti platform memiliki klasifikasi yang tidak memiliki padanan di sini. Minta properti classification untuk layanan yang dialokasikan dengan presisi lebih tinggi.
Bagaimana cara mengetahui apakah nomor telah dipindahkan (ported)?
network_info adalah jaringan yang melayani nomor saat ini dan original_network_info adalah jaringan yang menerbitkan rentang nomornya. Keduanya berbeda setelah nomor dipindahkan, dan flags berisi ported dalam kasus tersebut. Minta properti porting jika Anda juga membutuhkan tanggal dan catatan lengkapnya.
Mengapa country_code tidak ada dalam jawaban saya?
Karena nomor tersebut tidak termasuk dalam satu negara tertentu, seperti halnya rentang non-geografis. Kolom tanpa nilai dihilangkan alih-alih dikembalikan sebagai null, jadi setiap kolom yang ada dalam jawaban telah berhasil diselesaikan.
Apakah pencarian akan menelepon atau mengirim pesan ke nomor tersebut?
Tidak. Pencarian tidak pernah menghubungi nomor itu sendiri. Pencarian membaca data operator dan inteligensi nomor, dan properti presence serta roaming mengirim kueri ke jaringan tempat nomor terdaftar, jadi tidak ada yang berdering dan tidak ada yang sampai ke perangkat.

Terapkan dalam praktik.

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.

Dapatkan ringkasan implementasi

Jalankan lookup pertama Anda pada nomor yang Anda kenal.

Dashboard menjalankan operasi yang sama satu nomor pada satu waktu, yang merupakan cara tercepat untuk melihat hasilnya sebelum Anda menulis kode apa pun.

Mulai dengan satu channel.
Tambahkan yang lain saat Anda siap.

API key uji coba langsung tersedia untuk Anda. Akses produksi terbuka setelah Anda menambahkan metode pembayaran dan memverifikasi pengirim.

Menggunakan Claude Code, Cursor, atau Codex? Salin prompt pengaturan dan agen Anda akan menginstal Bird CLI dan skill untuk Anda. Pilih milik Anda:

Cursor