韓国向けリリースパイプラインに+82のSMS認証を組み込む

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

はい、OTP RouteはOTP Gatewayの使い捨て番号で韓国(+82)の認証コードを受信でき、各コードは署名付きWebhook、RESTポーリング、またはダッシュボードで受け取れます。料金は$0.20/コードからで、20分以内にSMSが届かなかったアクティベーションは全額ウォレットに返金されます。

+82のアクティベーションはどのエンドポイントを通りますか?

まずSMS認証APIから始めましょう。韓国向けのテスト計画の多くは、結局そこに行き着くからです。すべての呼び出しは、Developerコンソールで発行したor_live_で始まるBearerキーを付けて、https://otproute.com/api/v1に送信します。

  • GET /api/v1/countriesは韓国に対してkrを返し、GET /api/v1/servicesはサービスIDを返します。
  • GET /api/v1/prices?country=kr&service=<id>は、現在の価格とルートが利用可能かどうかを返します。
  • POST /api/v1/activations に {"service": "kakaotalk", "country": "kr"} を送ると、+82番号が確保され、アクティベーションIDが返ります。
  • GET /api/v1/activations/{id}は状態を示し、受信後はコードも返します。
  • POST /api/v1/activations/{id}/cancelは、不要になった番号を解放します。
  • GET /api/v1/balanceを使えば、ウォレットの残高が少ないときにスイートを早めに失敗させられます。

アカウントの上限は1分あたり300リクエストなので、並列ジョブで数秒ごとにポーリングしても余裕があります。リクエストの一連の流れは、連携ガイドで紹介しています。

署名付きWebhookは、韓国向けのテスト実行にどう適合しますか?

ポーリングは開発者1人なら問題ありませんが、並列のCIジョブではプッシュ配信の方がすっきりします。最大5つのエンドポイントを登録し、activation.sms_received、activation.expired、activation.cancelledを購読します。

すべてのリクエストにはX-OTPRoute-Signature: t=<unix>,v1=<hex>が含まれます。受け取ったとおりの生のボディを使って<t>.<raw body>という文字列を作り、エンドポイントのシークレットでHMAC-SHA256を計算し、定数時間比較でv1と照合します。リプレイ攻撃を防ぐため、古いタイムスタンプのものは拒否し、再送された配信が同じテストを二重に解決しないよう、ハンドラーはアクティベーションIDをキーにしてください。ボディの再シリアライズといったエッジケースは、HMACの記事で扱っています。

韓国向けのリリースチームは、通常どのような問題を解決しようとしていますか?

韓国はモバイルアプリやゲームにとって要求の厳しい市場で、韓国のユーザーは洗練されたローカライズを期待します。チームは、リリース前、韓国語の画面を追加するとき、あるいはサポートキューに「韓国のユーザーに認証SMSが届かない」という報告が上がったときに、ここでテストを行います。現地のSIMがないと、韓国のSMS OTPメッセージを受信してそうした報告を再現するのに時間がかかります。OTPルーティングサービスの使い捨て+82番号を使えば、エンジニアがどのオフィスからでも全く同じフローを再現でき、コードは他のどの市場とも同じツールに届きます。

韓国の電話番号はどのような形式で書かれ、保存されますか?

韓国の携帯電話は、国内では010に8桁を続けて表記します。先頭の0は市外プレフィックスなので、国際形式ではこれが外れ、+82 10に残りの8桁が続きます。両方の表記を受け付けるフォームは、入力時にE.164へ正規化してください。010…と+8210…を併存して保存すると、ユーザーの重複や検索の不具合が生じます。

韓国の送信元からのメッセージは通常ハングルで書かれ、Unicode SMSとして送信されますが、グローバルアプリはアカウントの言語設定に従います。コードは英語のテンプレートを期待するのではなく、数字のグループにマッチさせて抽出してください。また、韓国の国内サービスの多くは、サインアップを契約者の携帯キャリアによる実名の本人確認と結びつけていることにもご注意ください。この確認は個人契約を前提としており、使い捨て番号では満たせません。また、回避しようとしてはいけません。

韓国のルートでは、いまどのアプリが利用できますか?

krのスナップショットには、500を超えるサービスが表示されます。韓国の認証番号でよく選ばれるものには、KakaoTalk、LINE、WhatsApp、Telegram、Google(Gmail & YouTube)、Instagram、TikTok、Discord、Netflix、Microsoft & Outlook、Amazon、Uber、ChatGPT(OpenAI)、Claudeなどがあります。

カバレッジは一日の中で変わるため、注文の前には必ず価格エンドポイントで確認してください。開発者でない方もダッシュボードから同じことができます。アカウントを作成し、OTP Gatewayを開いて、サービスと韓国を選び、表示された価格を確認して確定し、+82番号をアプリにコピーします。コードは届き次第、画面に表示されます。

+82のアクティベーションが空のままの場合は?

アクティベーションのウィンドウは20分で、課金されるのはコードが届いた場合のみです。何も届かないときは次のようにします。

  • 注文が失敗したと判断する前に、ウィンドウの時間いっぱいまで待ちます。
  • キャンセルして時間をおいて再試行するか、そのサービスに別のルートが表示されていれば、それを選びます。
  • アプリが仮想回線を拒否していないか、またはキャリアによる本人確認を求めていないか確認します。その場合は、注文を繰り返しても結果は変わりません。
  • 短時間に連続で再試行しないでください。送信元側でのスロットリングを招きやすくなります。

応答のなかった注文やキャンセルされた注文は、自動的に返金されます。各アプリの利用規約を守り、OTP Routeの利用規定(Acceptable Use Policy)がすべてのアクティベーションに適用されることを忘れないでください。

韓国の長期番号はありますか。課金の仕組みは?

セルフサービスの長期+82回線はありません。Dedicated Numberは、SMSを受信し続ける必要があるアカウント向けに、米国とカナダのみで月額$1.95から提供しています。韓国でのその他のニーズについては、[email protected]にメールでご連絡ください。提供可否は現地の規制次第で、保証はできません。

OTP Gatewayの支払いは、プランや月額料金のないプリペイドUSDウォレットで行います。カードまたはUSDT/USDCでチャージでき、チャージごとにPDFの請求書が届きます。リクエストに応じて、開発アカウントをサンドボックスに切り替え、シミュレートされた番号とコードでパイプラインを実行することもできます。最新の料金は料金をご覧ください。

よくある質問

韓国のSIMカードなしで、アプリの韓国向け電話認証をテストできますか?

はい。OTP Gatewayで+82番号を注文し、アプリに入力して、API、Webhook、ダッシュボードのいずれかでコードを受け取れます。

韓国の番号を国際形式で入力するとき、先頭の0は含めますか?

いいえ。市外プレフィックスは取り除きます。010の携帯番号は+82 10に8桁を続けた形になります。

テスト用の+82番号はいくらですか?

1コード$0.20からで、正確な価格はサービスによって異なります。最新の金額は価格エンドポイントとダッシュボードで確認できます。

使い捨て番号は、韓国の実名認証を通過できますか?

いいえ。キャリアベースの本人確認は個人契約に紐づいているため、OTP Routeは通常のSMSコードを受け付けるフローにのみ使用してください。

KakaoTalkなどのアプリからコードが送信されなかった場合、課金されますか?

いいえ。20分以内に何も届かない場合、またはキャンセルした場合、支払額はウォレットに返金されます。

繰り返しのログインのために、韓国の番号を保持できますか?

セルフサービスではできません。使い捨て番号はコードを1回受信するためのもので、長期回線は米国とカナダに限られています。

韓国についてAPIが期待する国コードは何ですか?

国IDはkrで、価格クエリとアクティベーションのボディで使います。

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

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

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