日本語
OTP Routeの番号でLINEのSMSコードを受け取る:チェックリストと手順
OTP RouteでLINEの認証コードを受け取るには、OTP Gatewayでlinemessengerサービスのワンタイム番号を注文し、LINEの登録またはログイン画面に入力して、ダッシュボードか署名付きWebhookでコードを確認します。料金は1コード$0.20〜で、20分のウィンドウ内に何も届かなければ、料金は自動的にウォレットへ戻ります。
LINEは電話番号を何に使いますか?
LINEはアカウントを電話番号に紐づけます。新規登録はSMSコードで確認され、アカウントを新しい端末に移したときや、再インストール後にサインインするときにも、番号を再度求められることがあります。この番号はアクセスの復旧にも関わるため、アカウントをどの番号で作ったかが重要になります。
この最後の点が、プロダクトの選び方を左右します。ワンタイム番号は1回の認証の手順に向いていますが、数か月後に再びサインインする必要があるアカウントには、引き続き自社で管理できる番号が必要です。
LINEの番号を注文する前の事前チェックリスト
- Developer consoleで発行したAPIキー(プレフィックス
or_live_)。1アカウントにつき最大10個まで。 GET /api/v1/balanceで確認した、十分なウォレット残高。- アカウントまたはテストケースの市場に合わせた国の選択。
- その組み合わせの最新料金の確認。料金は国によって異なるためです。
- 登録済みのWebhookエンドポイントと、テスト済みの署名検証、またはポーリングのループ。
- このアカウントが後でまたログインする必要があるかどうかの判断。必要な場合は、下の専用番号(Dedicated Number)の項目をお読みください。
- 作成するアカウントの種類について、LINEの規約を改めて確認すること。
LINEではどの国を選べますか。それがなぜ重要なのですか?
LINEサービスは197か国で利用できます。このアプリは東アジアと東南アジアの一部で特に利用者が多いため、その地域で立ち上げるチームは、日本、タイ、台湾、インドネシア、香港、マレーシアから始めることが多いです。そのほか、シンガポール、フィリピン、ベトナム、韓国、オーストラリア、アメリカ、イギリス、ドイツ、ブラジル、ルーマニアなども選べます。
実際のユーザーがいる国を選んでください。タイ市場向けのビルドは、国番号、電話番号の表記、地域ごとのオンボーディング画面が本番と同じように動くよう、タイの番号で認証します。実行ごとに変わるのはcountryの値だけなので、複数の市場に対応するのにも、手間はほとんどかかりません。
手順:LINE認証コードAPIのフロー
GET /api/v1/prices?country=<id>&service=linemessengerを呼び出して、ルートが利用可能か確認します。POST /api/v1/activationsに{"service": "linemessenger", "country": "th"}のようなボディを送って、アクティベーションを作成します。- 返された番号をLINEの電話番号認証画面に入力します。
activation.sms_receivedを待つか、1分あたり300リクエストの上限内で、数秒おきにGET /api/v1/activations/{id}をポーリングします。- 実行を取りやめる場合は、
POST /api/v1/activations/{id}/cancelを呼び出します。
エンドポイントの詳細は開発者向けドキュメントにあります。
WebhookハンドラーはLINEのイベントをどう扱うべきですか?
t=<unix>,v1=<hex>という形式のX-OTPRoute-Signatureヘッダーを読み取り、エンドポイントのシークレットで<t>.<raw body>のHMAC-SHA256を計算し、定数時間で比較し、古いタイムスタンプのものは破棄します。そのうえで、処理はアクティベーションIDをキーにして行ってください。そうすれば、再送された配信は同じレコードを更新するだけで、テストの手順が二重に実行されることはありません。activation.expiredとactivation.cancelledも、同じテーブルで正常な結果として扱います。完全な手順はHMACガイドにあります。
ダッシュボードからLINEの番号を注文する
サインインしてOTP Gatewayを開き、LINEと国を選んで、表示された価格を確認して注文します。LINEに番号を入力したら、アクティベーションカードを開いたままにしてください。コードを受信すると、そこに表示されます。プロダクトマネージャーやサポート担当者は、自動テストに引き継ぐ前に、ローカライズされたLINEのオンボーディング画面を手動で確認するのに、この画面をよく使います。20分のウィンドウと返金ルールは同じです。
トラブルシューティング:LINEのコードが届かない理由
LINEが一部のバーチャル番号を拒否することがあり、先ほど使えたルートが、その日の後になると利用できなくなる場合もあります。SMSが届かなければ、ウィンドウが閉じたときまたはキャンセルしたときに、アクティベーションは全額返金されます。その後は次のようにしてください。
- テストケースに合う別の国を試す。
- 連続して注文し直さず、時間をおいて再試行する。
- 番号が正しい国番号で入力されているか確認する。
LINEに専用番号が適しているのは、どんなときですか?
ステージング用アカウントや共有のチームログインが、引き続きサインインできなければならない場合、ワンタイム番号は適切なツールではありません。米国とカナダの専用番号(Dedicated Numbers)は月額$1.95からで、受信SMSをダッシュボードと、number.sms_received経由のWebhookで受け取れ、解約するまでウォレットから更新されます。詳細はバーチャル番号のページをご覧ください。
OTP Routeは、自社の正当なプロダクトとアカウントにのみ使用してください。アカウントは実在する1人または1事業者につき1つとし、LINEの規約を守り、利用規定(Acceptable Use Policy)に従ってください。
よくある質問
OTP RouteでLINEに使うサービスIDは何ですか?
IDはlinemessengerです。料金の問い合わせと、アクティベーション作成時のserviceフィールドで使います。
物理的なSIMなしで、テスト用のLINE SMS認証を行えますか?
はい。OTP Gateway番号がLINEのコードを受信するので、APIやWebhook、ダッシュボードで確認できます。
LINE用のバーチャル番号には、どの国を選ぶべきですか?
ユーザーやテストケースが属する市場を選んでください。たとえば、日本やタイでの立ち上げなら、その国です。
LINEはOTP Routeのすべての番号を受け付けますか?
常にではありません。LINEが一部のバーチャル番号を拒否することがあり、コードが届かない場合は自動的に返金されます。
LINEのOTPを受け取るのに、費用はいくらかかりますか?
1コード$0.20〜で、国によって異なります。最新の料金はGET /api/v1/pricesで取得できます。
あとのログイン用に、同じLINE用電話番号を保持できますか?
専用番号を使う場合のみ可能で、米国とカナダで提供しています。ワンタイム番号は1つのコード専用です。
LINEのOTPコードを受け取るのにWebhookは必要ですか。ポーリングで十分ですか?
小規模な実行なら、GET /api/v1/activations/{id}のポーリングで十分です。多数のアクティベーションを並列に動かす段階では、Webhookのほうが拡張しやすくなります。
サービス名はそれぞれの所有者の商標です。OTP Route はこれらの企業と提携していません。番号は合法的にご利用いただき、各サービスの利用規約および当社の利用規定に従ってください。