Langsung ke konten
Guide

Alternatif NumVerify: validasi telepon ditambah 150 titik akhir

| 7 min read

NumVerify mengenakan biaya $14,99/bulan hanya untuk validasi telepon. Botoi memvalidasi ponsel dari 30+ negara dan mencakup 150+ titik akhir pengembang mulai gratis.

Person holding a smartphone with validation interface on screen
Photo by Rami Al-zayat on Unsplash

You're paying NumVerify $14.99/month to validate phone numbers. Satu titik akhir. Ketika Anda formulir checkout juga memerlukan validasi email dan saluran penipuan Anda memerlukan geolokasi IP, Anda akan menambahkan dua langganan lagi, dua kunci API lagi, dan dua dasbor penagihan lagi. NumVerify adalah bagian dari keluarga APILayer (induk yang sama dengan ipstack, mailboxlayer, Fixer.io), dan setiap tagihan produk secara terpisah.

milik Botoi /v1/phone titik akhir memvalidasi dan menormalkan nomor telepon dari 30+ negara ke dalam format E.164. Ini adalah salah satu dari 150+ titik akhir yang disertakan dalam setiap paket. Telepon validasi, verifikasi email, geolokasi IP, pencarian DNS, deteksi VPN; semuanya di bawah a kunci tunggal mulai dari $0/bulan.

Berdampingan: NumVerify vs botoi

NumVerify menggunakan permintaan GET dengan kunci API sebagai parameter kueri. Tingkat gratisnya adalah Khusus HTTP; HTTPS memerlukan paket berbayar. Botoi menggunakan permintaan POST dengan autentikasi Bearer berakhir HTTPS di setiap tingkatan, termasuk gratis.

Permintaan NomorVerifikasi

curl "http://apilayer.net/api/validate?access_key=YOUR_KEY&number=14155552671"

Tanggapan:

{
  "valid": true,
  "number": "14155552671",
  "local_format": "4155552671",
  "international_format": "+14155552671",
  "country_prefix": "+1",
  "country_code": "US",
  "country_name": "United States of America",
  "location": "California",
  "carrier": "AT&T Mobility LLC",
  "line_type": "mobile"
}

Permintaan Botoi

curl -X POST https://api.botoi.com/v1/phone \\
  -H "Content-Type: application/json" \\
  -d '{"phone": "+14155552671"}'

Tanggapan:

{
  "success": true,
  "data": {
    "phone": "+14155552671",
    "valid": true,
    "country_code": "+1",
    "country": "United States / Canada",
    "e164_format": "+14155552671",
    "national_format": "4155552671"
  }
}

Perbandingan bidang respons

Kedua API mengembalikan validitas, negara, dan nomor yang diformat. Perbedaan utamanya adalah apa NumVerify menyertakan apa yang tidak dimiliki botoi, dan apa yang ditambahkan oleh platform botoi yang lebih luas.

Bidang Verifikasi Nomor diterbitkan
Bendera yang sah Ya Ya
format E.164 Ya (international_format) Ya (e164_format)
format nasional Ya (local_format) Ya (national_format)
Kode negara Ya Ya
Nama negara Ya Ya
Lokasi (negara bagian/wilayah) Ya TIDAK
Nama operator Ya TIDAK
Jenis saluran (ponsel/telepon rumah/VoIP) Ya TIDAK
HTTPS pada tingkat gratis TIDAK Ya
metode HTTP DAPATKAN (masukkan URL) POST (Pembawa autentikasi)

NumVerify menampilkan operator dan jenis saluran, yang penting untuk perutean SMS. Botoi kembali bidang validasi dan pemformatan yang sama tetapi mengabaikan data operator demi cakupan 150+ kategori titik akhir lainnya dengan kunci yang sama.

Contoh nomor Inggris

curl -X POST https://api.botoi.com/v1/phone \\
  -H "Content-Type: application/json" \\
  -d '{"phone": "+442071234567"}'

Tanggapan:

{
  "success": true,
  "data": {
    "phone": "+442071234567",
    "valid": true,
    "country_code": "+44",
    "country": "United Kingdom",
    "e164_format": "+442071234567",
    "national_format": "2071234567"
  }
}

Perbandingan harga

Rencana Verifikasi Nomor diterbitkan
Bebas 100 permintaan/bulan, hanya HTTP, hanya telepon 100 permintaan/hari, HTTPS, 150+ titik akhir, tanpa pendaftaran
Dasar / Pemula $14.99/mo, 5,000 req, phone only $9/bln, 300.000 permintaan, semua titik akhir
Pro $49,99/bln, persyaratan 50.000, hanya telepon $29/bln, 1.000.000 permintaan, semua titik akhir
Perusahaan $99,99/bln, persyaratan 250.000, hanya telepon $49/bln, 3.000.000 permintaan, semua titik akhir

Paket Dasar NumVerify $14,99/bulan memberi Anda 5.000 permintaan validasi telepon. milik Botoi Paket Pemula $9/bulan memberi Anda 300.000 permintaan melalui validasi telepon, email verifikasi, geolokasi IP, pencarian DNS, dan setiap titik akhir lainnya. Perhitungannya menjadi lebih banyak miring saat Anda menambahkan kemampuan.

Tingkat gratis NumVerify mengirimkan kunci API Anda di URL melalui HTTP biasa. Itu berarti milikmu kuncinya terlihat di log server, log proxy, dan riwayat browser. Botoi menggunakan POST dengan Otentikasi pembawa melalui HTTPS di setiap tingkat.

Apa lagi yang Anda dapatkan dengan satu kunci botoi

NumVerify memberi Anda satu API untuk validasi telepon. Kunci botoi membuka 150+ titik akhir. Berikut ini yang paling relevan dengan alur kerja yang sama tempat Anda menggunakan validasi telepon:

  • Validasi email (/v1/email/validate) memeriksa sintaksis, memverifikasi data MX, dan menandai penyedia yang dapat dibuang. Formulir pendaftaran yang sama yang memvalidasi nomor telepon dapat memvalidasi email dalam kumpulan permintaan yang sama.
  • Deteksi email sekali pakai (/v1/disposable-email/check) menangkap alamat sekali pakai dari Guerilla Mail, Mailinator, dan 5.000+ penyedia lainnya.
  • Geolokasi IP (/v1/ip/lookup) mengembalikan kota, wilayah, negara, koordinat, dan zona waktu untuk IP penelepon. Gunakan untuk default mata uang dan Pemeriksaan kepatuhan GDPR.
  • Deteksi VPN (/v1/vpn-detect) menandai VPN, proxy, Tor, dan koneksi pusat data dengan skor risiko. Penting untuk pencegahan penipuan saat mendaftar.
  • Keamanan DNS (/v1/dns-security/spf-check, /v1/dns-security/dmarc-check) mengaudit catatan autentikasi email untuk semua hal domain.

Pada model penetapan harga NumVerify, menambahkan validasi email berarti berlangganan mailboxlayer ($14,99/bulan). Menambahkan geolokasi IP berarti berlangganan ipstack ($9,99/bulan). Masing-masing kemampuan baru adalah kunci API baru, dasbor baru, dan item baris baru di faktur Anda. Dengan botoi, kuncinya sama dan tagihan bulanannya sama.

Migrasi: tukar NumVerify dengan botoi di Express

Berikut rute pendaftaran umum menggunakan NumVerify, diikuti dengan rute yang sama menggunakan botoi. Migrasi melibatkan tiga perubahan: metode HTTP (GET ke POST), URL, dan bidang respons nama.

Sebelumnya (Verifikasi Nomor)

// BEFORE: NumVerify (GET, HTTP only on free tier)
app.post("/signup", async (req, res) => {
  const phone = req.body.phone.replace(/[^0-9]/g, "");
  const numverify = await fetch(
    \`http://apilayer.net/api/validate?access_key=\${NUMVERIFY_KEY}&number=\${phone}\`
  ).then((r) => r.json());

  if (!numverify.valid) {
    return res.status(422).json({ error: "Invalid phone number" });
  }

  await db.users.create({
    phone: numverify.international_format,
    carrier: numverify.carrier,
    country: numverify.country_name,
  });

  res.status(201).json({ ok: true });
});

Setelah (diterbitkan)

// AFTER: Botoi (POST, HTTPS, no API key needed for free tier)
app.post("/signup", async (req, res) => {
  const phone = req.body.phone;
  const botoi = await fetch("https://api.botoi.com/v1/phone", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ phone }),
  }).then((r) => r.json());

  if (!botoi.data.valid) {
    return res.status(422).json({ error: "Invalid phone number" });
  }

  await db.users.create({
    phone: botoi.data.e164_format,
    country: botoi.data.country,
  });

  res.status(201).json({ ok: true });
});

Versi botoi menghilangkan langkah sanitasi regex karena API menangani spasi, tanda hubung, dan tanda kurung di input. Anda mengirim input pengguna mentah dengan a + awalan dan dapatkan kembali string E.164 yang bersih. Itu carrier ladang hilang; jika kamu menyimpannya tetapi tidak menggunakannya untuk keputusan perutean, Anda tidak akan melewatkannya.

Gabungkan pemeriksaan telepon, email, dan penipuan dalam satu fungsi

Model kunci tunggal terbayar ketika formulir pendaftaran memerlukan beberapa validasi. Fungsi ini menjalankan empat pemeriksaan secara paralel dengan satu kunci API:

const BOTOI = "https://api.botoi.com/v1";
const headers = {
  "Content-Type": "application/json",
  "Authorization": \`Bearer \${process.env.BOTOI_API_KEY}\`,
};

async function validateSignup(email, phone, ip) {
  const [emailCheck, phoneCheck, disposableCheck, vpnCheck] =
    await Promise.all([
      fetch(\`\${BOTOI}/email/validate\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/phone\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ phone }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/disposable-email/check\`, {
        method: "POST",
        headers,
        body: JSON.stringify({ email }),
      }).then((r) => r.json()),

      fetch(\`\${BOTOI}/vpn-detect\`, {
        method: "POST",
        headers,
      }).then((r) => r.json()),
    ]);

  return {
    emailValid: emailCheck.data.valid,
    disposable: disposableCheck.data.disposable,
    phoneValid: phoneCheck.data.valid,
    phoneE164: phoneCheck.data.e164_format,
    phoneCountry: phoneCheck.data.country,
    vpn: vpnCheck.data.isVpn,
    riskScore: vpnCheck.data.riskScore,
  };
}

// One key, four checks, one billing dashboard
const result = await validateSignup(
  "buyer@company.io",
  "+14155552671",
  "203.0.113.42"
);
console.log(result);

Pada NumVerify + mailboxlayer + ipstack, fungsi ini memerlukan tiga kunci API dari tiga dasbor. Di botoi, hanya ada satu kunci, satu tagihan, satu kuota yang mencakup keempat titik akhir.

Kapan harus tetap menggunakan NumVerify

NumVerify adalah pilihan yang lebih baik dalam dua skenario:

  • Anda memerlukan deteksi operator untuk perutean SMS. Jika aplikasi Anda memilih di antaranya Twilio dan gateway SMS lokal berdasarkan operator (misalnya, merutekan nomor AT&T melalui satu penyedia dan T-Mobile melalui penyedia lainnya), NumVerify's carrier Dan line_type bidang sangatlah penting. Botoi tidak mengembalikan data operator.
  • Anda memerlukan klasifikasi tipe garis. Jika produk Anda mengenakan biaya berbeda untuk nomor seluler vs telepon rumah vs VoIP (umum dalam penagihan telekomunikasi), NumVerify's line_type bidang mendorong logika itu. Botoi memberi tahu Anda bahwa nomor tersebut valid tetapi bukan apakah itu telepon seluler atau telepon rumah.

Jika kasus penggunaan Anda adalah "validasi format, normalkan ke E.164, dan deteksi negara", botoi menutupinya. Jika kasus penggunaan Anda adalah "tentukan operator dan jenis saluran untuk perutean keputusan," NumVerify memiliki data yang lebih dalam untuk sumbu tersebut.

Anda juga dapat menggabungkan keduanya: gunakan botoi untuk 150+ titik akhir yang cocok atau melebihi Cakupan NumVerify, dan pertahankan NumVerify untuk pencarian khusus operator jika data tersebut bergerak logika bisnis di aplikasi Anda.

Poin-poin penting

  • NumVerify mengenakan biaya $14,99/bulan untuk 5.000 permintaan validasi telepon dalam satu kali titik akhir. Tingkat gratisnya dibatasi hingga 100 permintaan/bulan tanpa HTTPS.
  • milik Botoi /v1/phone titik akhir mengembalikan validasi yang sama dan E.164 pemformatan. Tingkat gratis mencakup 100 permintaan/hari melalui HTTPS tanpa pendaftaran.
  • Paket Botoi $9/bulan mencakup 300.000 permintaan di 150+ titik akhir. NomorVerifikasi Paket $14,99/bulan mencakup 5.000 permintaan validasi telepon saja.
  • NumVerify mengembalikan nama operator dan jenis baris. Botoi tidak. Jika deteksi pembawa mendorong perutean SMS di aplikasi Anda, NumVerify lebih terspesialisasi.
  • Kemenangan terbesar adalah konsolidasi. Validasi telepon, verifikasi email, geolokasi IP, Deteksi VPN, keamanan DNS, dan 145 titik akhir lainnya dalam satu kunci API dan satu faktur.

FAQ

Apakah ada alternatif gratis selain NumVerify untuk validasi telepon?
Ya. Titik akhir /v1/phone Botoi memvalidasi nomor telepon internasional dan mengembalikan format E.164, format nasional, kode negara, dan nama negara. Tingkat gratis mengizinkan 5 permintaan per menit dan 100 permintaan per hari melalui HTTPS tanpa perlu mendaftar. Paket gratis NumVerify membatasi 100 permintaan per bulan dan membatasi Anda pada HTTP.
Apakah botoi mengembalikan data operator seperti NumVerify?
Tidak. NumVerify mengembalikan nama operator (mis., AT&T Mobility) dan jenis saluran (ponsel, telepon rumah, VoIP). Titik akhir /v1/phone Botoi berfokus pada validasi dan normalisasi E.164. Jika deteksi operator menggerakkan logika perutean SMS Anda, NumVerify menyediakan data yang lebih mendalam untuk kasus penggunaan spesifik tersebut.
Format nomor telepon apa yang diharapkan botoi?
Titik akhir /v1/phone Botoi mengharapkan nomor dalam format internasional yang dimulai dengan awalan + dan kode negara. Misalnya, +14155552671 untuk AS atau +442071234567 untuk Inggris. Angka tanpa awalan + menghasilkan valid: false dengan catatan yang menjelaskan format yang diharapkan.
Berapa banyak permintaan yang termasuk dalam tingkat gratis botoi?
Tingkat gratis memungkinkan 5 permintaan per menit dan 100 permintaan per hari di seluruh titik akhir dengan pembatasan tarif berbasis IP. Tidak ada kunci API, tidak perlu mendaftar, dan tidak perlu kartu kredit. Paket berbayar mulai dari $9/bulan untuk 300.000 permintaan di 150+ titik akhir.
Bisakah saya mengganti NumVerify dengan botoi tanpa mengubah backend saya?
Anda harus memperbarui metode HTTP (POST bukan GET), URL (api.botoi.com/v1/phone), dan nama bidang respons (e164_format bukan international_format, country bukan country_name). Migrasi memerlukan waktu 10-15 menit per titik integrasi. Contoh kode disertakan dalam panduan ini.

Mulai membangun dengan botoi

150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.