Facebook の SMS 認証テスト: ワンタイム番号か、保持し続ける回線か

OTP Gateway は 1 コードあたり $0.20 から199 か国API ID: facebook米国/カナダ専用番号は月額 $1.95 から
クイックアンサー

OTP Route で Facebook の認証コードを受信するには、OTP Gateway で facebook サービスのワンタイム番号を注文し、Facebook が電話番号を求める画面で入力して、ダッシュボードまたは API と署名付き Webhook でコードを確認します。料金は 1 コード $0.20 からで、20 分以内に SMS が届かなければ自動的に返金されます。

最初の判断: この Facebook アカウントはその番号をもう一度必要とするか?

Facebook は最初の登録以外でも電話番号をアカウントに紐づけます。そのため、注文する前にどちらの商品を使うか決めてください。

  • 一度認証すれば終わり。 登録フローのテスト、Facebook ログイン後のアプリの挙動の確認、ローカライズの検証などです。OTP Gateway のワンタイム番号が向いています。1 つのコードを受信すると期限切れになります。
  • ログインし続ける必要があるアカウント。 自社ビジネスの長期的なページ管理者ログイン、QA チームがスプリントごとに戻ってくる共有のステージングアカウント、チーム管理アカウントの復旧用番号などです。これらの場面では Facebook が新しいコードを送ってくることがあり、ワンタイム番号はもう自分のものではありません。代わりに専用仮想番号(Dedicated Virtual Number)を使ってください。米国とカナダのみで利用でき、$1.95/月 からで、受信 SMS はダッシュボードと Webhook で受け取れます。

専用回線に何が含まれるかは仮想番号のページに載っています。米国とカナダ以外には、セルフサービスの長期的な選択肢はありません。

Facebook はいつ SMS コードを送るのか?

Facebook は、よく知られたいくつかの場面で電話認証を使います。メールアドレスの代わりに携帯番号で登録するとき、既存のプロフィールに追加した番号を確認するとき、第 2 段階として SMS コードを選んだ場合の二要素認証、ロックアウト時のアカウント復旧です。いつもと違うログインの後に確認を求められることもあります。Facebook アカウントに依存するプロダクトであれば、これらはそれぞれ別のテストケースとして押さえる価値があります。

Facebook 用の仮想番号はどの国のものを使えるのか?

Facebook は現在 199 か国でルート可能です。チームがよく選ぶ国には、米国、ブラジル、インド、ナイジェリア、フィリピン、ドイツのほか、メキシコ、インドネシア、エジプト、トルコ、ベトナム、パキスタン、フランス、英国、ケニア、アルジェリアなどがあります。

国は重要です。Facebook は番号の地域に応じて言語やプロンプトをローカライズすることがあるため、実際のユーザーが住む市場でテストしてください。ブラジルでのローンチ用に作るアカウントは、たまたま安かったルートではなく、ブラジルの番号で認証すべきです。

Facebook の認証コード API のフローはどう動くのか?

Developer console で発行した Bearer キー(プレフィックス or_live_)を付けて、https://otproute.com/api/v1 を呼び出します。サービス ID は facebook、国 ID は api_country の値です(例: br、ng)。

  1. GET /api/v1/prices?country=br&service=facebook で、現在の料金と提供状況を確認します。
  2. アクティベーションを作成します。POST /api/v1/activations に {"service": "facebook", "country": "br"} を送ります。
  3. 返された番号を、テスト内の Facebook の電話番号欄に入力します。
  4. activation.sms_received イベントを待ち受けるか、代わりに GET /api/v1/activations/{id} を数秒おきにポーリングします。
  5. テストを中断する場合は POST /api/v1/activations/{id}/cancel を呼び出します。

Webhook 側では、エンドポイントのシークレットで <t>.<raw body> の HMAC-SHA256 を計算して X-OTPRoute-Signature(t=<unix>,v1=<hex>)を検証し、古いタイムスタンプを拒否します。配信は繰り返されることがあるため、アクティベーション ID をキーにしてハンドラーを冪等にしてください。アカウントごとに 10 個のキー、5 つの Webhook エンドポイント、1 分あたり 300 リクエストが利用できます。少量ならポーリングでも十分です。リファレンス実装のハンドラーは Webhook による OTP 取得をご覧ください。

ダッシュボードから Facebook のコードを取得するには

開発者でなくても手動で行えます。OTP Gateway を開いて Facebook を選び、国を選んで表示された料金を確認し、注文します。番号を Facebook にコピーし、ダッシュボードでアクティベーションを見守ってください。SMS が届くとコードが表示されます。気が変わった場合はキャンセルすれば、金額がウォレットに戻ります。

Facebook のコードが届かないのはなぜか?

いくつかの要因が考えられます。特定のフローで Facebook が仮想番号を拒否した、ルートが混雑している、などです。お金の面は、20 分の有効時間と返金で対応されます。コードが届いたときにのみ課金され、届かなければ全額が自動的にウォレットに戻ります。

次にすること:

  • 早めにキャンセルせず、有効時間を最後まで使い切る。
  • 時間をおいて再試行するか、テストケースに合う別の国のルートを試す。
  • 短い間隔で連続注文しない。誰の得にもなりません。
  • 保持が必要なアカウントには、米国またはカナダの専用回線に切り替える。

Facebook の電話番号を責任を持って使うには

Facebook の規約は、実在する一人につき個人アカウント 1 つを求め、ビジネス上の存在は実在の人物に紐づくページやビジネスツールを通じて持つことを想定しています。OTP Route は、自社プロダクトの認証フローのテスト、組織が所有するアカウントの QA、ビジネス用ログインでの社員の個人番号の保護に使ってください。実在しない人物のアカウントを作ったり、Facebook がアカウントに課した制限を回避したりしてはいけません。OTP Route は Facebook と提携しておらず、その名称は権利者の商標であり、OTP Route の利用規定(Acceptable Use Policy)はすべての注文に適用されます。両方の商品の料金は料金のページにあります。

よくある質問

SIM カードなしで Facebook の OTP を受信できますか?

はい、1 回の認証であれば可能です。OTP Gateway で facebook サービスの番号を注文し、コードをダッシュボードまたは API で確認します。

OTP Route での Facebook 用電話番号の料金はいくらですか?

ワンタイムコードは 1 コード $0.20 からで、国ごとの正確な金額は API の料金エンドポイントで確認できます。米国・カナダの専用回線は $1.95/月 からです。

Facebook はすべての仮想番号を受け付けますか?

いいえ。Facebook は一部のフローで仮想番号を拒否することがあります。そのため、20 分以内にコードが届かなければ自動的に返金されます。

後から同じ Facebook アカウントにログインし直せますか?

その番号を引き続き管理している場合のみ可能です。そのためには、ワンタイムのアクティベーションではなく、米国またはカナダの専用仮想番号を使ってください。

CI ジョブで Facebook の SMS 認証をテストできますか?

はい。パイプラインからアクティベーションを作成し、署名付き Webhook でコードを受け取り、開発アカウントのサンドボックスモードで費用をかけずに連携をリハーサルできます。

Facebook のテストにはどの国を選ぶべきですか?

ユーザーがいる国です。Facebook は地域ごとにプロンプトや確認をローカライズするため、一致する国のルートがもっとも現実的な結果を返します。

サービス名はそれぞれの所有者の商標です。OTP Route はこれらの企業と提携していません。番号は合法的にご利用いただき、各サービスの利用規約および当社の利用規定に従ってください。

数分で最初の OTP をルーティング

無料アカウントを作成し、USD ウォレットにチャージして、ダッシュボードまたは API から番号を注文。月額料金はありません。