Verify APIを使い始める

Verifyでは、SMS、Eメール、音声、WhatsAppなど複数のチャネルを通じてワンタイムパスワード(OTP)を送信し、ユーザーの電話番号を確認することができます。ワークフローを定義して、どのチャンネルをどの順番で使用するかを制御できます。

このガイドでは、以下のワークフローを使用して、Verify API を同期的に呼び出す方法を説明します。 最初にSMSの配信を試み、SMSが失敗した場合は音声通話に戻る.また、OTPコードの長さとステップ間のタイムアウトをカスタマイズする方法も学びます。

前提条件

このガイドでは、以下のことを前提としている:

  • Vonageアカウントをお持ちです。お持ちでない場合は、無料で作成できます。 これ.
  • あなたは cURL システムにインストールされている。

新規アプリケーションの作成

始めるには、新しいアプリケーションを作成する必要がある。このアプリケーションには、APIコールの認証に必要な認証情報が含まれる。以下の手順に従ってください:

  1. に行く。 Vonageアプリケーションダッシュボード.
  2. クリック 新規アプリケーションの作成.
  3. の中で 名称 フィールドにアプリケーションの名前を入力します。
  4. の中で 認証 セクションで 公開鍵と秘密鍵の生成 を使って新しい鍵ペアを生成する。秘密鍵ファイル(.key)が自動的にダウンロードされます。このファイルはAPIコールの認証に必要なので、安全に保存してください。
  5. 次に 能力 セクションに追加してください。非同期のステータス・アップデートを受け取りたくないので、このセクションでは Verify 機能をオフにした。
  6. 最後に 新規アプリケーションの作成 ボタンをクリックして作成プロセスを完了する。

アプリケーションが作成されたら、ダッシュボードに表示されるアプリケーションIDをコピーします。このアプリケーションIDと秘密鍵ファイルは、以下のJWTを生成するために必要です。 APIリクエストの認証.

OTPによるエンドユーザーのVerify

ワンタイムパスワード(OTP)を使用してエンドユーザーをVerifyするには、以下の2つのステップに従います:

  1. 検証コードをリクエストする.エンドユーザーは、APIコールで指定されたチャネルのいずれかを介してコードを受け取ります。
  2. 提供された検証コードを確認する.2回目のAPI呼び出しで、ユーザーによって導入されたコードが検証される。

検証コードのリクエスト

によると API仕様最初のステップは、

POST
リクエストを /v2/verify エンドポイントを呼び出します。この API 呼び出しは、SMS 経由で OTP を配信しようとする検証ワークフローを初期化する。

curl -X POST "https://api.nexmo.com/v2/verify" \
    -H "Authorization: Bearer $JWT" \
    -H 'Content-Type: application/json' \
    -d $'{
        "brand": "TestVerify",
        "code_length": 5,
        "channel_timeout": 30,
        "workflow": [
        {
            "channel": "sms",
            "to": "'$PHONE_NUMBER'"
        },
        {
            "channel": "voice",
            "to": "'$PHONE_NUMBER'"
        }
    ]
}'

APIコールをよりよく理解するために、リクエストのヘッダーとボディを見てみよう。

ヘッダー 価値 必須 説明
認可 Bearer $JWT はい を使用して API リクエストを認証します。 JWT.
コンテンツタイプ application/json はい リクエストボディがJSONとしてフォーマットされることを指定する。

ボディ・フィールド 必須 タイプ 説明
brand はい ストリング 認証メッセージでユーザーに表示される会社名またはサービス名(TestVerify この例では)
code_length いいえ 整数 OTP コードの桁数。指定しない場合のデフォルトは4。
channel_timeout いいえ 整数 ワークフローの次のステップに移るまでの待機時間(秒)。
workflow はい 配列 OTP を配信するチャネルのシーケンスを定義します(SMS、音声など)。ワークフローの詳細については ワークフローガイド.
workflow.channel はい ストリング 使用する配信チャンネル (sms, voice, whatsapp).
workflow.to はい ストリング E.164形式のOTP送信先電話番号(例. +44111223344).

リクエストに成功すると 200 Ok レスポンスを含む request_id 体内の

{
   "request_id":"3b4363c9-1234-567a-90ab-c45a134561"
}

同時に、エンドユーザーは5桁の認証コードを含むSMSを受信するはずである。もしユーザーが30秒以内に検証を完了しない場合(これは channel_timeout)、自動的に音声通話がかかり、コードが読み上げられる。

の両方が必要です。 request_id と、次のステップで検証を完了するためにユーザーが入力したコード。

提供された検証コードを確認する

エンドユーザーがコードを受け取ったら、

POST
リクエストを /v2/verify/{request_id} エンドポイント {request_id} を、前の通話で受け取ったIDで入力してください:

curl -X POST "https://api.nexmo.com/v2/verify/$VERIFY_REQUEST_ID" \
  -H "Authorization: Bearer $JWT"\
  -H 'Content-Type: application/json' \
  -d $'{
    "code": "'$VERIFY_CODE'"
  }'

リクエストヘッダ:

ヘッダー 価値 必須 説明
認可 Bearer $JWT はい を使用して API リクエストを認証します。 JWT.
コンテンツタイプ application/json はい リクエストボディがJSONとしてフォーマットされることを指定する。

リクエスト本文:

ボディ・フィールド 必須 タイプ 説明
code はい ストリング エンドユーザーが受信した検証コード

リクエストに成功すると 200 OK ベリフィケーション・プロセスが完了した旨の回答:

{
   "request_id":"3b4363c9-1234-567a-90ab-c45a134561",
   "status":"completed"
}

結論

このガイドでは、Verify API を使用してエンドユーザー検証をマルチチャネル構成で実装する方法を学びました。 ショートメール に戻る。 必要なら

ここで提供されるcURLの例は、あくまでも学習のためのものです。実際の実装では、Verifyを直接あなたの バックエンドお好きな方法で プログラミング言語.

次はどうする?

Verify APIがどのように機能し、マルチチャネル・アプローチがいかに強力であるかを理解したところで、検証で使用できるさまざまなサポートチャネルを調べてみましょう。 ワークフロー.

検証プロセスの改善 サイレント認証これにより、OTPを入力させることなく、モバイルトラフィック上でユーザーをVerifyすることができます。

最後に API仕様ここでは、Verify APIを最大限に活用するための便利なパラメータを見つけることができます。