コンテンツへスキップ
Guide

NumVerify の代替案: 電話検証と 150 のエンドポイント

| 7 min read

NumVerify の料金は、電話認証だけで月額 14.99 ドルです。 Botoi は 30 か国以上の携帯電話を検証し、無料で開始できる 150 以上の開発者エンドポイントが含まれています。

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

電話番号を検証するには、NumVerify に月額 14.99 ドルを支払っています。 エンドポイントは 1 つ。 あなたの チェックアウトフォームにも電子メール検証が必要であり、不正行為パイプラインには IP 地理位置情報が必要です。 さらに 2 つのサブスクリプション、2 つの API キー、および 2 つの請求ダッシュボードを追加します。 NumVerify は APILayer ファミリ (ipstack、mailboxlayer、Fixer.io と同じ親) の一部です。 各製品は個別に請求されます。

ボトイさん /v1/phone エンドポイントは 30 以上の電話番号を検証して正規化します 国を E.164 形式に変換します。 これは、すべてのプランに含まれる 150 以上のエンドポイントの 1 つです。 電話 検証、電子メール検証、IP 地理位置情報、DNS ルックアップ、VPN 検出。 すべての下にあります 単一キーは月額 $0 から始まります。

並べて: NumVerify と botoi

NumVerify は、クエリ パラメータとして API キーを含む GET リクエストを使用します。 無料利用枠は、 HTTP のみ。 HTTPS には有料プランが必要です。 Botoi はベアラー認証を使用して POST リクエストを使用します 無料を含むすべてのレベルで HTTPS。

NumVerify リクエスト

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

応答:

{
  "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"
}

ボトイリクエスト

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

応答:

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

応答フィールドの比較

どちらの API も、有効性、国、およびフォーマットされた数値を返します。 重要な違いは何ですか NumVerify には、botoi にはない機能と、botoi の広範なプラットフォームが追加する機能が含まれています。

分野 NumVerify 出版された
有効なフラグ はい はい
E.164形式 はい (international_format はい (e164_format
全国フォーマット はい (local_format はい (national_format
国コード はい はい
国名 はい はい
場所 (州/地域) はい いいえ
キャリア名 はい いいえ
回線種類(携帯電話/固定電話/VoIP) はい いいえ
無料枠のHTTPS いいえ はい
HTTPメソッド GET (URLを入力) POST (ベアラー認証)

NumVerify は、SMS ルーティングに重要な通信事業者と回線タイプを返します。 ボトイが帰ってくる 同じ検証フィールドとフォーマットフィールドですが、カバーすることを優先してキャリアデータをスキップします。 同じキーの下に 150 以上の他のエンドポイント カテゴリ。

英国の番号の例

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

応答:

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

価格比較

プラン NumVerify 出版された
無料 100 リクエスト/月、HTTP のみ、電話のみ 100 リクエスト/日、HTTPS、150 以上のすべてのエンドポイント、サインアップなし
ベーシック / スターター $14.99/月、5,000 リクエスト、電話のみ $9/月、300,000 リクエスト、すべてのエンドポイント
プロ $49.99/月、50,000 リクエスト、電話のみ $29/月、1,000,000 リクエスト、すべてのエンドポイント
企業 $99.99/月、250,000 リクエスト、電話のみ $49/月、3,000,000 リクエスト、すべてのエンドポイント

NumVerify の月額 14.99 ドルの基本プランでは、5,000 件の電話検証リクエストが提供されます。 ボトイさん 月額 9 ドルのスターター プランでは、電話認証、メール認証で 300,000 件のリクエストが可能 検証、IP 地理位置情報、DNS ルックアップ、その他すべてのエンドポイント。 数学がさらに楽しくなる 機能を追加すると偏ってしまいます。

NumVerify の無料枠では、プレーン HTTP 経由で URL 内の API キーが送信されます。 つまり、あなたの キーはサーバー ログ、プロキシ ログ、ブラウザ履歴に表示されます。 Botoi は POST を使用します すべての層で HTTPS 経由のベアラー認証。

1 つの Botoi キーで他に何が得られるか

NumVerify は、電話認証用の 1 つの API を提供します。 Botoi キーは 150 以上のエンドポイントのロックを解除します。 電話認証を使用する場合と同じワークフローに最も関連するものは次のとおりです。

  • 電子メールの検証 (/v1/email/validate) 構文をチェックします。 MX レコードを検証し、使い捨てプロバイダーにフラグを立てます。 検証する同じサインアップフォーム 電話番号を使用すると、同じリクエスト バッチで電子メールを検証できます。
  • 使い捨てメールの検出 (/v1/disposable-email/check) Guerrilla Mail、Mailinator、その他 5,000 以上のプロバイダーからの使い捨てアドレスを捕捉します。
  • IP地理位置情報 (/v1/ip/lookup) 都市、地域を返します。 発信者の IP の国、座標、タイムゾーン。 通貨のデフォルトに使用し、 GDPR 準拠チェック。
  • VPNの検出 (/v1/vpn-detect) VPN、プロキシ、Tor、および データセンター接続とリスクスコア。 サインアップ時の不正防止のために重要です。
  • DNSセキュリティ (/v1/dns-security/spf-check/v1/dns-security/dmarc-check)電子メール認証記録を監査します。 ドメイン。

NumVerify の価格モデルでは、電子メール検証を追加するということは、mailboxlayer にサブスクライブすることを意味します。 (月額 14.99 ドル)。 IP 地理位置情報を追加するには、ipstack (月額 9.99 ドル) に登録することを意味します。 それぞれ 新しい機能とは、新しい API キー、新しいダッシュボード、請求書の新しい項目です。 botoi を使用すると、同じキーと同じ月額料金がかかります。

移行: Express で NumVerify を botoi に交換します

ここでは、NumVerify を使用した一般的なサインアップ ルートと、その後に botoi を使用した同じルートを示します。 移行には、HTTP メソッド (GET から POST)、URL、および応答フィールドの 3 つの変更が含まれます。 名前。

前 (NumVerify)

// 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 });
});

後(公開後)

// 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 });
});

botoi バージョンでは、API がスペースを処理するため、正規表現のサニタイズ手順が削除されます。 入力内のダッシュと括弧。 生のユーザー入力を送信します。 + プレフィックスを付けてクリーンな E.164 文字列を取得します。 の carrier フィールドがなくなってしまいました。 もしあなたが 保存していましたが、ルーティングの決定には使用していなかった場合でも、見逃すことはありません。

電話、電子メール、不正行為チェックを 1 つの機能に統合

単一キー モデルは、サインアップ フォームに複数の検証が必要な場合に効果を発揮します。 この機能 1 つの API キーを使用して 4 つのチェックを並行して実行します。

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);

NumVerify + mailboxlayer + ipstack では、この関数には 3 つの API キーのうち 3 つが必要になります。 ダッシュボード。 botoi では、1 つのキー、1 つの請求書、1 つのクォータで 4 つのエンドポイントすべてをカバーします。

NumVerify を使用する場合

NumVerify は、次の 2 つのシナリオでより良い選択です。

  • SMS ルーティングにはキャリア検出が必要です。 アプリが次のいずれかを選択する場合 Twilio と通信事業者に基づくローカル SMS ゲートウェイ (例: AT&T 番号のルーティング) あるプロバイダー経由で、T-Mobile 経由で別のプロバイダー経由で)、NumVerify の carrier そして line_type フィールドは必須です。 Botoi はキャリアデータを返しません。
  • 線種の分類が必要です。 製品の料金が異なる場合 携帯電話番号、固定電話番号、VoIP 番号 (電気通信の請求で一般的)、NumVerify の番号 line_type 現場がそのロジックを動かします。 Botoi は番号が有効だと言いますが、 携帯電話か固定電話かではありません。

ユースケースが「形式を検証し、E.164 に正規化し、国を検出する」である場合、 ボトイがそれをカバーします。 ユースケースが「ルーティング用の通信事業者と回線タイプを決定する」の場合 決定」、NumVerify にはその軸に関するより詳細なデータがあります。

両方を混合することもできます。一致するかそれを超える 150 を超えるエンドポイントには botoi を使用します。 NumVerify のカバレッジ。データがドライブする場合はキャリア固有の検索用に NumVerify を保持します。 アプリ内のビジネス ロジック。

重要なポイント

  • NumVerify は、1 回の 5,000 件の電話検証リクエストに対して月額 14.99 ドルを請求します。 エンドポイント。 HTTPS を使用しない場合、無料枠の上限は 100 リクエスト/月です。
  • ボトイさん /v1/phone エンドポイントは同じ検証と E.164 を返します。 書式設定。 無料枠には、サインアップなしの HTTPS 経由の 1 日あたり 100 リクエストが含まれます。
  • Botoi の月額 9 ドルのプランには、150 以上のエンドポイントすべてにわたる 300,000 件のリクエストが含まれています。 NumVerify の 月額 14.99 ドルのプランには、電話認証のみの 5,000 件のリクエストが含まれます。
  • NumVerify は通信事業者名と回線タイプを返します。 ボトイはそうではありません。 キャリア検出の場合 はアプリ内で SMS ルーティングを推進しますが、NumVerify はより特殊化されています。
  • より大きな勝利は統合です。 電話認証、電子メール認証、IP 地理位置情報、 VPN 検出、DNS セキュリティ、および 145 個以上のエンドポイントを 1 つの API キーと 1 つの請求書で管理します。

FAQ

電話認証に NumVerify に代わる無料の代替手段はありますか?
はい。 Botoi の /v1/phone エンドポイントは、国際電話番号を検証し、E.164 形式、国内形式、国コード、および国名を返します。 無料枠では、サインアップ不要で HTTPS 経由で 1 分あたり 5 リクエスト、1 日あたり 100 リクエストが許可されます。 NumVerify の無料プランでは、月あたり 100 リクエストが上限となり、HTTP に制限されます。
botoi は NumVerify のようなキャリアデータを返しますか?
いいえ。NumVerify は通信事業者名 (AT&T Mobility など) と回線タイプ (携帯電話、固定電話、VoIP) を返します。 Botoi の /v1/phone エンドポイントは、検証と E.164 正規化に重点を置いています。 キャリア検出が SMS ルーティング ロジックを駆動する場合、NumVerify はその特定のユースケースについてより詳細なデータを提供します。
botoi はどのような電話番号形式を想定していますか?
Botoi の /v1/phone エンドポイントは、+ プレフィックスと国コードで始まる国際形式の番号を想定しています。 たとえば、米国の場合は +14155552671、英国の場合は +442071234567 です。 + プレフィックスのない数値は、期待される形式を説明するメモとともに valid: false を返します。
Botoi の無料利用枠には何件のリクエストが含まれますか?
無料枠では、IP ベースのレート制限により、すべてのエンドポイントで 1 分あたり 5 リクエスト、1 日あたり 100 リクエストが許可されます。 API キー、サインアップ、クレジット カードは必要ありません。 有料プランは、150 以上のエンドポイントすべてにわたる 300,000 リクエストの場合、月額 9 ドルから始まります。
バックエンドを変更せずに NumVerify を botoi に置き換えることはできますか?
HTTP メソッド (GET ではなく POST)、URL (api.botoi.com/v1/phone)、および応答フィールド名 (international_format の代わりに e164_format、country_name の代わりに country) を更新する必要があります。 移行には、統合ポイントごとに 10 ~ 15 分かかります。 このガイドにはコード例が含まれています。

botoiで開発を始めよう

150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。