日本語
スウェーデン(+46)の認証コードをAPIファーストで解説
OTP Routeは、OTP Gatewayの1回限りの番号でスウェーデン(+46)のSMS認証コードを受信し、各コードをダッシュボードと、署名付きWebhookまたはRESTポーリングでお客様のコードに届けます。料金は$0.20/コードからで、課金されるのはコードが届いた場合のみ、20分経ってもSMSが届かない注文は自動的に返金されます。
スウェーデンのSMS OTPを受信するには、どのエンドポイントを呼び出しますか?
まずDeveloperコンソールでAPIキーを取得します。キーには or_live_ のプレフィックスが付き、Bearerヘッダーで https://otproute.com/api/v1 に対して使います。最大10個まで保持できるので、CI、ステージング、開発者のノートPCを分けやすくなります。スウェーデンの国IDは se です。
GET /api/v1/servicesとGET /api/v1/countriesでIDを取得します。実行ごとにキャッシュしてください。GET /api/v1/prices?country=se&service=discordは、その組み合わせの現在の価格と空き状況を返します。POST /api/v1/activationsに{"service": "discord", "country": "se"}を送ると、注文が作成され、アクティベーションIDと+46番号が返されます。- テストで、その番号をプロダクトの認証画面に入力します。
- コードは、Webhookまたは
GET /api/v1/activations/{id}で届きます。 POST /api/v1/activations/{id}/cancelで、テストで不要になった注文を解放します。
スイートの実行前に GET /api/v1/balance を呼び出すと、ウォレット残高が少ない場合にジョブを早めに止められます。上限は1分300リクエストで、数秒間隔のポーリングには十分です。このSMS認証APIのより詳しい手順は、OTP API連携ガイドをご覧ください。
+46のコードを信頼する前に、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をキーにします。
ファイアウォールが受信を遮断する場合は、ポーリングが有効な代替手段であり続けます。エッジケースはHMACによるWebhookのセキュリティの記事で扱っています。
+46番号では、どのサービスを認証できますか?
スウェーデンのルートには、現在1,700を超えるサービスがあります。現在の例として、WhatsApp、Telegram、Discord、Snapchat、LinkedIn、Microsoft & Outlook、Google (Gmail & YouTube)、Uber、Netflix、Amazon、Signal、ChatGPT (OpenAI)、Claude、eBay、X (Twitter)などがあります。
数や在庫は一日の中で動くため、リストを固定せず、テストの注文内容は価格エンドポイントの結果に任せてください。
スウェーデンの番号はどう正規化し、解析すべきですか?
スウェーデンのトランクプレフィックスは 0 です。国内で07の後に8桁を続けて書く携帯番号は、先頭の0を取り除いて、E.164では+46 7とその8桁になります。この国際形式で保存し、入力処理でスペース、ハイフン、先頭の0を取り除いてから+46を付けるようにしてください。スウェーデンの人は習慣で国内形式を入力することが多いため、テスト用の+46番号は、まさにこの確認に適したテストデータです。
スウェーデン語のSMSテンプレートには、å、ä、öの文字が含まれることがあります。パイプラインで生のメッセージをログに残す場合は、Unicodeテキストを問題なく扱えることを確認し、「your code is」のような英語のフレーズではなく、数字のパターンでコードを抽出してください。そうすれば、サービスがスウェーデン語で書いても英語で書いても、同じパーサーが動作します。
ここでテストするのは、北欧向けのローンチ、オンボーディングのスウェーデン語文言の確認、事業に代わってアカウントを運用する地域のサポートチームのためです。
開発者でなくてもスウェーデンのダッシュボードを使えますか?
はい。スウェーデンとサービスを選び、リアルタイムの価格を確認して、確定します。注文一覧に+46番号が表示されるので、アプリに貼り付けると、サービスが送信した時点でその横にコードが表示されます。プロダクトマネージャーやサポート担当者は、この方法で、APIに触れずにスウェーデンの認証番号で1つのフローを確認しています。アカウントの設定には、新規登録でメールアドレスと6桁のコードが必要です。
+46のコードが届かないのはなぜで、その場合はどうすればよいですか?
各アクティベーションは20分間開いており、課金されるのはコードが届いた場合のみです。期限切れまたはキャンセルされた注文は、チケット不要で全額がウォレットに返金されます。
コードが見当たらない場合は、有効時間に余裕を持たせてから、時間をおいて再試行するか、別のサービスルートでテストしてください。仮想番号を拒否するサービスもあり、登録画面で拒否された場合は、配信の不具合ではなく、たいていそれが原因です。短い間隔で再注文を繰り返さず、試行の間隔を空けてください。優れたOTPルーティングのロジックは、コードが届かない状況を、連打するのではなく、待つか切り替えるべきサインとして扱います。
スウェーデンのテストにおける専用回線、ウォレット、サンドボックス
スウェーデンでセルフサービスの長期番号は、現在OTP Routeの提供範囲に含まれていません。専用番号は米国とカナダでのみ利用でき、月額$1.95からです。スウェーデンの長期回線が必要な場合は [email protected] にメールしてください。現地の規則で可能かどうかをチームがお知らせします。
資金は、月額料金のないプリペイドUSDウォレットで管理され、カードまたはUSDT/USDCでチャージでき、チャージごとにPDF請求書が発行されます。CI向けにシミュレートされた番号とコードが必要な場合は、開発用アカウントをサンドボックスに切り替えるよう依頼してください。費用の詳細は料金ページにあります。
ご自身のプロダクトのみをテストし、各サービスの規約を守り、OTP Routeの利用規定(Acceptable Use Policy)に従ってください。
よくある質問
OTP Route APIでのスウェーデンの国IDは何ですか?
se です。価格のクエリ文字列と、アクティベーションのボディで使います。
スウェーデンの番号は、先頭の0を付けて保存しますか?
いいえ。トランクの0を取り除き、+46で始まるE.164形式で保存してください。国内形式はUIで必要な場合にのみ表示します。
スウェーデンのSIMがなくても、アプリのスウェーデン向け登録フローをテストできますか?
はい。サービス用の+46番号を注文してアプリに入力し、コードをWebhook、ポーリング、ダッシュボードのいずれかで受け取れます。
スウェーデン語の文字でOTPパーサーが壊れることはありますか?
単語ではなく数字をマッチさせ、メッセージをUnicodeテキストとして扱えば、壊れないはずです。
+46の注文が失敗した場合、費用はかかりますか?
かかりません。20分以内にSMSが届かなかった場合やキャンセルした場合は、全額がウォレットに戻ります。
自分専用として保持できるスウェーデンの番号は取得できますか?
セルフサービス製品としては提供していません。長期番号は米国とカナダで提供しています。スウェーデンについては [email protected] へメールでお問い合わせください。
実際の資金を使わずに連携テストを実行するにはどうすればよいですか?
開発用アカウントのサンドボックスモードを依頼してください。シミュレートされた番号とコードが、エンドツーエンドで返されます。
サービス名はそれぞれの所有者の商標です。OTP Route はこれらの企業と提携していません。番号は合法的にご利用いただき、各サービスの利用規約および当社の利用規定に従ってください。