Inteligensi nomor telepon. Tipe saluran, operator, riwayat porting, sinyal penipuan.
Pencarian operator berbasis MNP melalui jalur yang sama dengan lalu lintas SMS dan Voice Bird. Satu endpoint, autentikasi sama, format error sama seperti setiap channel Bird lainnya, karena tim engineering yang sama membangun semuanya.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.lookup.get({
phone: "+14155550172",
}).safe();
if (error) throw error;
console.log(data);
// → {
// phone: "+14155550172",
// line_type: "mobile",
// carrier: "T-Mobile USA",
// country: "US",
// ported_from: "AT&T Mobility",
// fraud_score: 0.07,
// valid: true,
// }
5 menit dari npm install ke lookup pertama
Cari nomor dari bahasa pemrograman yang sudah Anda gunakan.
SDK di setiap runtime utama. Jawaban Lookup dalam waktu di bawah 300 md pada median, cukup cepat untuk menjadi gerbang pengiriman SMS.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.lookup.get({
phone: "+14155550172",
}).safe();Sepuluh field yang biasanya harus Anda kumpulkan dari tiga vendor berbeda.
Data poin konkret, bernama dan dapat diaudit. Setiap data berasal dari sumber nyata, bukan tebakan model.
- 01
Deteksi tipe saluran
Mobile, telepon rumah, VoIP, bebas pulsa, premium, pager. Tentukan apakah SMS memungkinkan sebelum Anda mengirim.
- 02
Identifikasi operator
Nama operator saat ini dan kode negara per input E.164. Diperbarui secara terus-menerus berdasarkan registri MNP.
- 03
Riwayat porting sebelumnya
Operator sebelumnya tempat nomor tersebut di-porting. Berguna untuk perkiraan biaya routing dan heuristik penipuan.
- 04
Format negara dan wilayah
Mengembalikan format E.164, nasional, dan internasional; kode negara dan wilayah yang dibutuhkan router.
- 05
Sinyal penipuan
fraud_score 0-1 per nomor, menggabungkan velocity, heuristik tipe saluran, flag porting terbaru, dan daftar nomor berbahaya.
- 06
Validitas dan keterjangkauan
Boolean valid dan jendela reachable: beberapa nomor lolos parsing dengan baik tetapi operator sudah tidak mengalokasikannya lagi.
- 07
Lookup batch
POST daftar hingga 1.000 nomor dalam satu panggilan. Harga per nomor tetap sama; Anda menghemat round trip.
- 08
Harga berbasis cache
Cache 24 jam untuk input identik gratis. Anda hanya membayar saat jawabannya benar-benar berbeda.
- 09
Webhook untuk pekerjaan batch
Untuk batch besar, subscribe lookup.completed dan baca file hasilnya alih-alih menahan koneksi HTTP.
- 10
Autentikasi sama, format error sama
Satu API key untuk Lookup, SMS, Email, WhatsApp, Voice. Satu registri tipe error untuk semuanya.
Mengapa kami membangun Lookup
Karena Anda tidak seharusnya mengetahui sebuah nomor adalah telepon rumah dari kegagalan SMS.
Kami sudah menjalankan pencarian MNP di dalam routing SMS Bird: kami harus melakukannya, untuk memilih rute operator termurah secara real time. Lookup adalah kueri yang sama, disajikan sebagai endpoint utama, sehingga Anda dapat memfilter pendaftaran, menilai risiko, dan memperkirakan biaya routing tanpa mengirim satu SMS pun. Autentikasi sama, format error sama, webhook sama seperti seluruh platform.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.lookup.get({
phone: "+14155550172",
}).safe();
if (error) throw error;
console.log(data);
// → {
// phone: "+14155550172",
// line_type: "mobile",
// carrier: "T-Mobile USA",
// country: "US",
// ported_from: "AT&T Mobility",
// fraud_score: 0.07,
// valid: true,
// }
Setiap perubahan status adalah webhook.
Payload bertanda tangan HMAC, dilindungi dari replay, idempoten. Lookup nomor tunggal bersifat sinkron; lookup batch dikirim sebagai webhook.
{
"type": "lookup.completed",
"id": "evt_2qB72y...",
"created_at": "2026-05-19T15:42:01.221Z",
"data": {
"lookup_id": "lkp_4hQ8m2nT",
"phone": "+14155550172",
"line_type": "mobile",
"carrier": "T-Mobile USA",
"country": "US",
"ported_from": "AT&T Mobility",
"fraud_score": 0.07,
"valid": true
}
}
Jadwal retry: 5d, 30d, 5m, 30m, 2j, 6j, 12j. Dead-letter setelah percobaan terakhir; setiap event dead-letter dapat di-replay dari dashboard atau API.
lookup.completedLookup (tunggal atau batch) selesai. Payload mencakup respons lengkap.lookup.failedLookup tidak dapat dilakukan; payload mencakup format error.
Cari nomor, lalu kirim ke nomor tersebut.
Autentikasi sama, kontrak idempotency sama, format error sama. Lookup dirancang seperti setiap endpoint lainnya. Bedanya, ia mengembalikan data alih-alih mengirim pesan.
Lookup.
await bird.lookup.get({
phone: "+14155550172",
});
Operator, tipe saluran, asal porting, sinyal fraud: dikembalikan secara sinkron dalam waktu di bawah 300 md.
SMS.
await bird.sms.send({
from: "Bird",
to: "+14155550172",
text: `Your code is ${code}.`,
category: "authentication",
});
Autentikasi sama, format error sama. Gunakan hasil lookup sebagai gerbang pengiriman: singkirkan nomor telepon rumah sebelum membebani biaya Anda.