← ブログに戻る

電話番号検証API:できることとできないこと

電話番号検証API:できることとできないこと

電話番号検証APIは、番号が国際的な番号計画のルールに照らして正しい形式かどうかを確認し、どのネットワークにも接続することなく、地域と、携帯電話や固定電話といった回線種別を返します。答えるのは「これは実在し得る番号か?」であり、「この番号は今つながっているか?」ではありません。

この違いによって、必要なサービスの種類が決まります。形式レベルの検証は高速で、実行コストがかからず、プライバシーも保てますが、ライブの状態を報告するものは、キャリアグレードのデータソースとクエリ単位のコストに依存します。多くのチームは、前者で実際の問題が解決できたはずなのに、後者に支払っています。

ルールベースの検証が得意なこと

各国の番号計画は公開されています。国番号、許容される桁数、有効な市外局番とプレフィックスの範囲、そしてどのプレフィックスが携帯電話、固定電話、その他のサービスに割り当てられているかです。これらのルールに基づくバリデーター、通常はGoogleのlibphonenumberのメタデータに由来するライブラリは、多くのことができます。

  • 正規化する。「(415) 555-0132」「415-555-0132」「+1 415 555 0132」を同じE.164の文字列に変換し、データベースに1つの番号の6通りの表記が混在しないようにします。
  • 不正な入力を拒否する。桁数の誤り、あり得ないプレフィックス、場違いな位置の文字は、SMSプロバイダーに届いて費用がかかる前に、フォームの段階で捕捉されます。
  • 地域を推定する。国や地域は国番号とプレフィックスから分かり、ルーティング、ローカライズ、デフォルトの書式設定に役立ちます。
  • 回線種別を分類する。携帯電話、固定電話、その他いくつかのカテゴリは、プレフィックスの割り当てから導かれます。

処理は純粋な計算なので、結果はすぐに返り、番号を外部のベンダーに送る必要がありません。電話番号はほとんどの法域で個人データであるため、これはプライバシー上の利点です。ipto の電話番号チェッカーはこの方式で動作します。セルフホストのパーサーを使い、出力はライブのキャリア照会を行わず、番号計画のルールに基づいています。国際形式で番号を入力するか、国を選んでローカル形式の番号を解釈させます。

分からないこと

ルールベースの検証には明確な限界があり、それを前提にフローを設計する前に知っておく価値があります。

  • 番号が有効かどうか。番号はすべてのルールに従っていても、未割り当て、解約済み、あるいは新しい所有者に再利用されているかもしれません。
  • 誰が所有しているか。番号計画のルールは、契約者については何も語りません。
  • 現在どの事業者が提供しているか。番号ポータビリティにより、元のプレフィックスの所有者が現在のキャリアであるとは限りません。
  • 回線がVoIPサービスかどうか。プレフィックスに基づく種別の判定は概算で、仮想番号は通常の範囲から割り当てられることがよくあります。

ipto の用語では、「valid」は「番号計画のルールに照らしてもっともらしい」という意味です。到達可能性に関する確かな事実については、そのアクセス権を持つプロバイダーによるライブのキャリアまたはHLR方式の照会か、ワンタイムコードを送信してユーザーが入力するかを確認するといった実用的なテストが必要です。

2つのアプローチの選び方

これから下そうとしている判断から出発してください。連絡先リストの整理、登録時の入力の正規化、国旗を表示するかどうかの判断が目的なら、ルールベースの検証で十分であり、有料のライブ検索は無駄な出費です。アカウント復旧のような価値の高いフローを保護する場合、もっとも安価な到達可能性のテストは、通常、認証コードそのものです。どんな検索にもできない、番号の管理権限を証明できるからです。

有料のライブ検索が価値を持つのは、大量に送信していて、使われていない番号へのメッセージに費用を払いたくない場合や、特定の回線カテゴリを高い確度で区別しなければならない場合です。その場合でも、まず無料の形式チェックを実行してください。明らかなゴミが取り除かれるため、実在する可能性のある番号の検索にだけ費用を払えば済みます。

IP側のツールの位置付け

電話番号のデータは、ネットワークやメールのデータと並べたほうが有用です。IPからキャリアへの検索は、電話番号のキャリア照会とは別のものです。モバイルに分類されたIPアドレスを、MCCとMNCのディレクトリを通じて、契約者単位ではなくネットワークレベルで、その事業者に対応付けます。メールチェッカーは構文、MXレコード、使い捨てドメインをカバーし、不正スコアチェッカーは、IP、メール、User-Agentと並ぶ4つの任意入力の一つとして、電話番号の結果を取り込みます。このスコアでは、検証に失敗した番号はリスクを高め、もっともらしい番号はほとんど影響せず、これは形式チェックが正当性の証拠としていかに弱いかに見合っています。

複数の角度からアカウントを判断することに関する関連記事として、使い捨てメール検証の解説も参照してください。

率直な回答

国際的な番号計画のルールに照らして番号の形式が正しいかを確認し、地域と、携帯電話や固定電話といった回線種別を返すAPIです。
番号計画のルールだけに頼る場合は、できません。番号がつながっているか、誰が所有しているか、現在どのキャリアが提供しているかを確認するには、キャリアレベルのライブ照会か、その番号に送る認証コードが必要です。
番号計画のルールに基づくセルフホストのパーサーを使うため、番号が外部の検証ベンダーに送られることはありません。ライブのキャリア照会は行わず、形式の有効性、地域、回線種別を返します。
← ブログに戻る