エジプト(+20)のSMS認証フローをOTP Route APIに組み込む

国番号 +20OTP Gateway は 1 コードあたり $0.20 から専用番号:米国・カナダのみAPI ID: eg
クイックアンサー

はい。OTP Routeでは、エジプト(+20)の認証コードを受信できます。OTP Gatewayが選んだサービス向けに使い捨ての+20番号を発行し、コードはダッシュボード、APIのポーリング、または署名付きWebhookで届きます。料金は$0.20/コードからで、サービスごとにリアルタイムで返され、20分の有効時間内にコードが届いた場合にのみウォレットから引き落とされます。

エジプトOTP APIの連携には、実際にどのリクエストが必要ですか?

すべてを7つのエンドポイントでまかなえます。いずれもhttps://otproute.com/api/v1の下にあり、or_live_で始まるBearerキーで認証します。キーは環境ごとにDeveloperコンソールで1つずつ生成してください。1アカウントにつき最大10個まで持てます。

  1. GET /api/v1/servicesとGET /api/v1/countriesでカタログを読み込みます。エジプトの国IDはegで、めったに変わらないため、キャッシュして問題ありません。
  2. 注文のたびにGET /api/v1/prices?country=eg&service=<id>で、現在の価格と提供状況を確認します。在庫は日中に変動するため、このレスポンスは設定値ではなく最新のデータとして扱ってください。
  3. {"service": "whatsapp", "country": "eg"}のようなボディでPOST /api/v1/activationsを呼び、アクティベーションを作成します。アクティベーションIDと、テスト対象の画面に入力する+20番号が返ります。
  4. コードは、Webhook、またはGET /api/v1/activations/{id}の呼び出しで取得します。
  5. テストが中断された場合は、POST /api/v1/activations/{id}/cancelで注文を解放すると、資金がすぐに戻ります。

各スイートの冒頭でGET /api/v1/balanceを呼んでおけば、CIジョブが途中で失敗せず、早い段階で止まれます。上限は1アカウントあたり1分300リクエストで、複数のアクティベーションを並行してポーリングする余裕があります。リクエストの完全な例は開発者向けドキュメントにあります。

ポーリングではなく、署名付きWebhookで+20のコードを受け取るにはどうしますか?

ポーリングは単発のローカルテストには十分ですが、パイプラインがエジプト向けのアクティベーションを多数同時に実行する段階では、Webhookのほうが適しています。Developerコンソールでエンドポイントを追加し(1アカウントにつき5つまで)、activation.sms_receivedを購読します。ジョブが待つのをやめるタイミングがわかるよう、activation.expiredとactivation.cancelledも併せて購読してください。

すべてのリクエストにはX-OTPRoute-Signature: t=<unix>,v1=<hex>が付きます。<t>.<raw body>という文字列を組み立て直し、エンドポイントのシークレットでHMAC-SHA256を計算し、v1と定数時間で比較します。タイムスタンプが古いものは拒否し、パースして再エンコードしたオブジェクトではなく、受信したままのバイト列をハッシュしてください。

アクティベーションIDを冪等性キーとして扱い、イベントを一度だけ保存し、重複は無視して、速やかに2xxを返します。Webhookによる手法のガイドでは、このハンドラーをキューを使って構成した例を解説しています。

エジプトの認証用番号にコードを配信できるサービスはどれですか?

エジプトの最新のスナップショットには、合計で1,600を超えるサービスが掲載されています。チームが+20番号でテストする人気のものとして、WhatsApp、Facebook、Instagram、TikTok、Telegram、Google (Gmail & YouTube)、Microsoft & Outlook、Uber、Snapchat、Viber、imo、ChatGPT (OpenAI)、Amazon、LinkedInがあります。

このリストはある時点の姿であり、約束ではありません。今朝は番号が豊富だったサービスが、午後には手薄になることもあります。だからこそ価格エンドポイントは、料金と一緒に提供状況も返します。仮想番号を一切受け付けないサービスもあり、その場合は後述の返金ルールで保護されます。

アプリはエジプトの携帯番号をどう保存・検証すべきですか?

エジプトの国番号は+20で、国内のトランクプレフィックスは0です。国内では携帯番号が01で始まる11桁で書かれますが、国際形式ではゼロが消え、+20の後に10桁が続きます。いくつかの習慣を身につければ、ほとんどのバグは避けられます。

  • E.164形式のみを保存します(+201XXXXXXXXXなど)。表示用の整形は、画面を描画するときに行います。
  • 国がすでにエジプトに設定されているフォームでユーザーが01…と入力した場合は、トランクのゼロを取り除きます。そうしないと、無効な+2001…の値になってしまいます。
  • 数字を正規化します。アラビア語キーボードのユーザーはアラビア・インド数字を入力することがあるため、検証の前や、入力されたOTPの比較の前に、ASCII数字へ変換してください。

公用語はアラビア語で、多くのサービスはエジプトのユーザーにコードをアラビア語で送りますが、英語をデフォルトにするサービスもあります。正規表現でコードを抜き出すパーサーは、英語のメッセージ本文に加えて、右から左に書くメッセージ本文でもテストしてください。

運用チームは、コードを書かずにエジプトの番号を注文できますか?

はい。すべての確認にスクリプトが必要なわけではなく、サポートやグロースの同僚も、ブラウザから同じOTP Gatewayを使えます。

  1. メールアドレスと6桁のコード、またはGoogleでサインアップします。
  2. ウォレットにチャージして、OTP Gatewayを開きます。
  3. エジプトとサービスを選びます。確定する前に価格が表示されます。
  4. +20番号をアプリにコピーし、コードが画面に表示されるのを待ちます。

このアクティベーションはAPIでの注文と同一なので、手動の確認と自動化された確認は同じように動作します。

+20のコードが届かないときはどうすればよいですか?

各アクティベーションは20分間有効です。その間にSMSが届かなかった場合、またはその前にキャンセルした場合は、全額が自動的にウォレットへ戻るため、沈黙した番号に費用がかかることはありません。

コードが何度も失敗するときは、次を試してください。

  • 失敗と判断する前に、有効時間いっぱいまで待ちます。到着の時間はサービスとルートによって異なります。
  • そのサービスが、そもそも仮想番号を受け付けているかを確認します。拒否するサービスもあり、ルートの選び方では変えられません。
  • 少し時間をおいて再試行するか、テストがエジプトの番号に依存しないのであれば、近隣のルートを使います。
  • 短い間隔での再注文は避けます。注文の間隔を徐々に空け、各アクティベーションIDをログに残してください。

再試行ポリシーについては、OTP配信失敗を減らす方法のノートでさらに詳しく解説しています。

プロダクトチームはなぜエジプトの番号でテストするのですか?

エジプトはアラビア語圏で最大級の市場の一つで、プロダクトをアラビア語にローカライズするチームにとって最初の訪問先になります。実際の+20番号を使うと、エミュレーターでは省かれる部分、つまり国選択、トランクのゼロの処理、アラビア語のSMSテンプレート、コード入力画面の右から左のレイアウトを検証できます。

地域のオペレーションチームも、リリース後にエジプトの顧客向けのサインアップフローが引き続き動作するかを確認するためにOTPルーティングを使います。また、海外に住むエジプト人にサービスを提供する企業は、+20番号が国外でも受け付けられるかを確認します。

エジプトの長期回線はありますか?料金はどのように扱われますか?

エジプト向けのセルフサービスの長期番号はありません。専用回線は米国とカナダ向けの製品のみで、1か月$1.95からです。継続的なエジプトの回線が必要な場合は、[email protected]にメールしてください。現地の規制のもとで可能かどうかをチームがお伝えしますが、可能であるという約束はできません。

料金体系は、月額料金なし、プラン選択なしの前払いUSDウォレットです。クレジットカード、またはUSDT/USDCでチャージでき、チャージのたびにPDFの請求書がメールで届きます。連携の開発中は、開発用アカウントのサンドボックスモードを依頼できます。ウォレットの残高を使わずに、シミュレーションされた番号とコードが返されます。現在の料金は料金ページにあります。

よくある質問

エジプトのSIMカードがなくても、自社アプリのエジプト向けサインアップOTPを確認できますか?

はい。OTP Gatewayで+20番号を注文し、サインアップフォームに入力して、コードをダッシュボードまたはAPIで読み取ります。現地のSIMは不要です。

OTP Route APIでエジプトに使う国IDは何ですか?

エジプトはegです。価格エンドポイントと、POST /api/v1/activationsのボディに渡します。

SMSが届かなかった場合も+20番号の料金を支払いますか?

いいえ。20分以内にコードが届かなかった場合、またはアクティベーションをキャンセルした場合は、全額がウォレットに自動的に返金されます。

エジプトの携帯番号を保存するとき、先頭のゼロは残すべきですか?

いいえ。0は国内のトランクプレフィックスです。取り除いて、+20で始まるE.164形式で保存してください。

来月、同じエジプトのテスト用番号で再ログインできますか?

確実にはできません。OTP Gatewayの番号が受け取れる認証コードは1つで、セルフサービスの専用回線は米国とカナダのみです。繰り返しのログインが必要なアカウントは、それを前提に計画してください。

エジプトの番号を使って、プラットフォーム上にアカウントを大量に作成できますか?

いいえ。OTP Routeは、自社の正当なアカウントとプロダクトのテストと運用のためのものです。各サービスの利用規約と利用規定(Acceptable Use Policy)に従ってください。

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

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

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