APIでインド(+91)の認証コードを受信する

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

はい、OTP Routeでは、OTP Gatewayの使い切り番号でインド(+91)のSMS認証コードを受信できます。ダッシュボードで受け取るほか、RESTポーリングと署名付きWebhookでプログラムから受け取ることもできます。料金は1コード $0.20 からで、サービスごとの正確な金額はAPIからライブで返され、20分のウィンドウ内にコードが実際に届いたときだけ請求されます。

インドOTP APIの呼び出し手順は、どのようになっていますか?

フロー全体は、or_live_ で始まるBearerキーで認証した、https://otproute.com/api/v1 に対する数回のリクエストで済みます。キーはDeveloperコンソールで1アカウントにつき最大10個まで作成できるため、環境ごとに専用のキーを持てます。

  1. GET /api/v1/countries を1回呼び出して、結果をキャッシュします。インドの国IDは in です。
  2. テスト対象のサービスについて、GET /api/v1/prices?country=in&service=<id> を呼び出します。ライブの価格と可用性が返るので、実行のたびに読み取ってください。
  3. POST /api/v1/activations に {"service": "telegram", "country": "in"} のようなJSONボディを送って注文します。レスポンスで、アクティベーションIDと+91番号が返されます。
  4. その番号を、自社アプリのサインアップまたはログイン画面に入力します。
  5. Webhook、または GET /api/v1/activations/{id} のポーリングでコードを取得します。テストが途中で終わった場合は、POST /api/v1/activations/{id}/cancel を呼び出します。

スイートの冒頭で GET /api/v1/balance を確認すれば、実行を早めに失敗させられます。APIは1分あたり300リクエストまで許容しており、数秒おきのポーリングには十分です。リクエストとレスポンスの詳細はAPIドキュメントにあります。

+91のコード用Webhookハンドラーは、どう構築すればよいですか?

ジョブが並列で動くようになると、署名付きWebhookのほうがポーリングよりスケールしやすくなります。Developerコンソールでエンドポイントを登録し(1アカウントにつき5つまで)、activation.sms_received、activation.expired、activation.cancelled を待ち受けます。

各配信には、t=<unix>,v1=<hex> の形式の X-OTPRoute-Signature ヘッダーが付いています。検証するには、そのエンドポイントのシークレットで文字列 <t>.<raw body> のHMAC-SHA256を計算し、結果を v1 と定数時間で比較します。つまずきやすい点が2つあります。

  • ハッシュにかけるのは生のリクエストバイトで、再シリアライズしたJSONオブジェクトではありません。キーの順序や空白が変わると、ダイジェストも変わります。
  • 数分より古いタイムスタンプは拒否し、取得されたリクエストを再生できないようにします。

書き込みはアクティベーションIDをキーにして、重複した配信が何も起こさない処理(no-op)になるようにし、時間のかかる処理に入る前に2xxで応答してください。比較ステップを1行ずつ解説した記事が、HMACによるOTP Webhookの保護です。

インドの番号にコードを送れるサービスは何ですか?

インドのルートには、現在2,300を超えるサービスが掲載されています。ライブのスナップショットで人気のあるものには、WhatsApp、Telegram、Google(Gmail & YouTube)、Instagram、Facebook、X(Twitter)、ChatGPT(OpenAI)、Microsoft & Outlook、Amazon、LinkedIn、Discord、Uber、Snapchatなどがあります。

可用性は一日の中で変わるため、APIがライブで報告します。テストマトリクスが特定の1つのサービスに依存している場合は、実行前に in の価格を問い合わせ、そのルートが閉じているときは、きれいにスキップしてください。これらのルートは、自社のプロダクトとアカウントにのみ使い、各サービスの規約を守り、OTP Routeの利用規定(Acceptable Use Policy)が適用されることを念頭に置いてください。

開発者でなくても、ダッシュボードからインドの認証番号を注文できますか?

はい。運用スタッフや代理店のアカウントマネージャーは、APIを使わずに済ませられます。

  1. メールアドレスと6桁のメール確認コード、またはGoogleサインインでアカウントを作成し、TOTPの二要素認証をオンにします。
  2. ウォレットにチャージします。
  3. インドとサービスを選び、画面で価格を確認して注文します。
  4. 設定中のアプリに+91番号を入力すると、SMSが届き次第、アクティベーションのページにコードが表示されます。

ダッシュボードとAPIは、同じウィンドウ、同じ返金ルール、同じウォレットを共有しています。

20分以内にコードが届かない場合は、どうすればよいですか?

すべてのアクティベーションは20分間有効です。支払いが発生するのは、SMSが届いたときだけです。何も届かないままウィンドウが閉じた場合、または先にキャンセルした場合は、全額がウォレットに自動で戻り、Webhookには activation.expired または activation.cancelled が届きます。

コードが届かないときは、次を試してください。

  • 対応する前に、ウィンドウの終了まで待ちます。サービスの送信がいつもより遅いだけのこともあります。
  • そのサービスが、そもそも仮想番号を受け付けているか確認します。拒否するプラットフォームもありますが、これは配信の不具合ではなく、先方のポリシーです。
  • 時間をおくか、別のサービスルートでテストします。
  • タイトなループで再注文しないでください。番号を拒否しているルートに労力を費やさないよう、試行の間隔を空けましょう。

リトライ戦略については、OTP配信失敗の削減で、さらに詳しく扱っています。

インドの電話番号は、どのように保存して正規化すべきですか?

インドの携帯番号は10桁で、実際には6、7、8、9のいずれかで始まります。インド国内の人は、先頭にトランクの 0 を付けて書いたり、5桁ずつスペースで区切って書いたりすることがよくあります。国際形式ではこの 0 を取り除いて国コードを付けるので、+91 に10桁を続けた形になります。

保存するのは、+91 と10桁というE.164形式だけにし、スペース、ハイフン、ゼロは含めません。入力の段階で、書式、先頭の 0、プラスなしで入力された 91 を取り除いて正規化してください。そうすれば、書式が違うだけの重複ユーザーを防げます。

インドの認証SMSは、ほとんどが英語で届き、電話番号ではなく英数字の送信者ヘッダーから送られます。ヒンディー語やほかの地域言語で送るアプリもあるため、コードのパーサーは、ラテン文字以外のスクリプトでもテストしてください。

プロダクトチームが、テスト用に+91番号を必要とするのはなぜですか?

インドは、コンシューマー向けアプリ、フィンテックのオンボーディング、マーケットプレイスにとって一般的なローンチ市場で、ユーザーはサインアップ時にSMSのステップがあることを前提にしています。チームは+91のルートを使って、ローンチのリハーサル、ヒンディー語、タミル語、テルグ語、ベンガル語、マラーティー語などのインターフェースにわたるローカライズQA、地域の運用スタッフのサポートを行うほか、海外に住み、今も母国の番号でサインインしているインド系ディアスポラの顧客が使うフローを確認します。ここでの優れたOTPルーティングとは、実際のユーザーの動線に合ったサービスルートを選び、ほかの市場と同じSMS認証APIのコールに組み込むことです。

インドの長期回線はありますか?請求はどのように行われますか?

ありません。専用番号は米国とカナダ向けの商品で、月額$1.95からです。ダッシュボードから、インドの長期回線を購入することはできません。必要な場合は、[email protected] にメールしてください。提供可否は現地の規制によるもので、保証はできません。

請求は、1つのプリペイドUSDウォレットで行い、月額料金や選ぶプランはありません。カード、またはステーブルコインのUSDT/USDCでチャージでき、チャージのたびにPDFの請求書がメールで届きます。連携の開発では、サポートに依頼して開発用アカウントをサンドボックスに切り替えてください。模擬の番号とコードが返されるため、ウォレットの資金を使わずに、Webhookハンドラーをエンドツーエンドでテストできます。

よくある質問

現地のSIMなしで、アプリのインド向けサインアップフローをテストできますか?

はい。OTP Gatewayで+91番号を注文し、サインアップ画面に入力して、コードをダッシュボード、API、またはWebhookから読み取ります。

OTP Route APIで、インドの国IDは何ですか?

in です。GET /api/v1/prices の国と、POST /api/v1/activations のボディに指定してください。

インドのSMS OTPの受信には、いくらかかりますか?

コードは1件 $0.20 からで、正確な価格はサービスによって異なります。注文前に表示され、コードが届かなかったアクティベーションはウォレットに返金されます。

来月も、同じ+91番号で再度ログインできますか?

できません。ゲートウェイの番号は、認証コード1件分です。繰り返しログインが必要なアカウントには専用回線が向いていますが、専用回線があるのは米国とカナダだけです。

インド向けの連携を構築するためのサンドボックスはありますか?

はい、リクエストに応じてご用意します。サポートが開発用アカウントをサンドボックスに移行すると、ウォレットに触れることなく、模擬の番号とコードがコードの中を流れます。

経理チームは、ステーブルコインで支払えますか?

はい。ウォレットはカード決済のほか、USDTとUSDCにも対応しており、チャージごとにPDFの請求書がメールで届きます。

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

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

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