Erste Schritte mit Verify API

Mit Verify können Sie die Telefonnummer eines Benutzers bestätigen, indem Sie ein One-Time Password (OTP) über mehrere Kanäle wie SMS, E-Mail, Sprache und WhatsApp senden. Sie können einen Workflow definieren, um zu steuern, welche Kanäle verwendet werden und in welcher Reihenfolge.

Dieses Handbuch zeigt Ihnen, wie Sie die Verify-API synchron aufrufen können, indem Sie einen Workflow verwenden, der versucht zuerst die SMS-Zustellung und greift dann auf einen Sprachanruf zurück, wenn die SMS fehlschlägt. Sie erfahren auch, wie Sie die Länge des OTP-Codes und die Zeitüberschreitungen zwischen den Schritten anpassen können.

Voraussetzungen

Dieser Leitfaden geht davon aus, dass:

  • Sie haben einen Account bei Vonage. Wenn nicht, können Sie ein kostenloses Konto erstellen hier.
  • Sie haben cURL in Ihrem System installiert.

Erstellen einer neuen Applikation

Um zu beginnen, müssen wir eine neue Anwendung erstellen. Diese Anwendung wird die Anmeldedaten enthalten, die für die Authentifizierung der API-Aufrufe erforderlich sind. Folgen Sie diesen Schritten:

  1. Gehen Sie zum Vonage Application Dashboard.
  2. Klicken Sie auf Erstellen Sie eine neue Anwendung.
  3. In der Name geben Sie einen Namen für Ihre Anwendung ein.
  4. In der Authentifizierung Abschnitt, klicken Sie auf Öffentlichen und privaten Schlüssel generieren um ein neues Schlüsselpaar zu erzeugen. Eine private Schlüsseldatei (.key) wird automatisch heruntergeladen. Speichern Sie diese Datei sicher, da sie für die Authentifizierung Ihrer API-Aufrufe erforderlich ist.
  5. Gehen Sie nun zum Fähigkeiten Abschnitt. Da wir keine asynchronen Statusaktualisierungen erhalten wollen, können Sie das Feld Verify Fähigkeit ausgeschaltet.
  6. Klicken Sie schließlich auf die Schaltfläche Neue Anwendung generieren um den Erstellungsprozess abzuschließen.

Nachdem die Anwendung erstellt wurde, kopieren Sie die auf dem Dashboard angezeigte Application ID. Sie benötigen diese Application ID zusammen mit der privaten Schlüsseldatei, um JWTs zu generieren für Authentifizierung von API-Anfragen.

Verify von Endbenutzern mit OTP

Um Endbenutzer mit einem One-Time-Password (OTP) zu verifizieren, führen Sie die folgenden zwei Schritte aus:

  1. Einen Verifizierungscode anfordern. Der Endnutzer erhält den Code über einen der in Ihrem API-Aufruf angegebenen Kanäle.
  2. Überprüfen Sie den mitgelieferten Verifizierungscode. Durch einen zweiten API-Aufruf wird der vom Benutzer eingegebene Code validiert.

Verifizierungscode anfordern

Nach Angaben der API-Spezifikationist der erste Schritt das Senden einer

POST
-Anfrage an die /v2/verify Endpunkt. Dieser API-Aufruf initialisiert den Verifizierungs-Workflow, der versucht, das OTP per SMS und, falls dies fehlschlägt, per Sprachanruf zu übermitteln.

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'"
        }
    ]
}'

Werfen wir einen Blick auf die Kopfzeilen und den Text der Anfrage, um den API-Aufruf besser zu verstehen.

Kopfzeile Wert Erforderlich Beschreibung
Autorisierung Bearer $JWT Ja Authentifiziert die API-Anfrage mit JWT.
Inhalt-Typ application/json Ja Gibt an, dass der Anfragekörper als JSON formatiert wird.

Körperfeld Erforderlich Typ Beschreibung
brand Ja Zeichenfolge Der Name Ihres Unternehmens oder Ihrer Dienstleistung, der dem Nutzer in der Bestätigungsmeldung angezeigt wird (TestVerify in diesem Beispiel)
code_length Nein Integer Die Anzahl der Ziffern des OTP-Codes. Der Standardwert ist 4, wenn nicht angegeben.
channel_timeout Nein Integer Zeit (in Sekunden), die gewartet wird, bevor zum nächsten Schritt im Arbeitsablauf übergegangen wird.
workflow Ja Array Legt die Reihenfolge der Kanäle für die Übermittlung des OTP fest (z. B. SMS, Sprache). Mehr über Workflows erfahren Sie in unserem Workflow-Leitfaden.
workflow.channel Ja Zeichenfolge Der zu verwendende Lieferkanal (sms, voice, whatsapp).
workflow.to Ja Zeichenfolge Die Telefonnummer, an die das OTP gesendet werden soll, im E.164-Format (z. B., +44111223344).

Wenn die Anfrage erfolgreich ist, erhalten Sie eine 200 Ok Antwort, die eine request_id im Körper:

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

Gleichzeitig sollte der Endnutzer eine SMS erhalten, die einen 5-stelligen Verifizierungscode enthält. Wenn der Nutzer die Verifizierung nicht innerhalb von 30 Sekunden abschließt (wie von channel_timeout), erhalten sie automatisch einen Sprachanruf, bei dem der Code vorgelesen wird.

Sie benötigen sowohl die request_id und den vom Benutzer eingegebenen Code, um die Überprüfung im nächsten Schritt abzuschließen.

Überprüfen Sie den mitgelieferten Verifizierungscode

Sobald der Endbenutzer den Code erhält, müssen Sie eine

POST
-Anfrage an die /v2/verify/{request_id} Endpunkt und ersetzt damit {request_id} mit der ID, die Sie beim letzten Anruf erhalten haben:

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'"
  }'

Kopfzeilen anfordern:

Kopfzeile Wert Erforderlich Beschreibung
Autorisierung Bearer $JWT Ja Authentifiziert die API-Anfrage mit JWT.
Inhalt-Typ application/json Ja Gibt an, dass der Anfragekörper als JSON formatiert wird.

Körper der Anfrage:

Körperfeld Erforderlich Typ Beschreibung
code Ja Zeichenfolge Der vom Endnutzer erhaltene Verifizierungscode

Wenn die Anfrage erfolgreich ist, erhalten Sie eine 200 OK Antwort, dass die Überprüfung abgeschlossen ist:

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

Schlussfolgerung

In diesem Handbuch haben Sie gelernt, wie Sie die Endbenutzer-Verifizierung mithilfe der Verify-API mit einer Multi-Channel-Konfiguration implementieren: beginnend mit SMS und Rückfall auf Stimme falls erforderlich.

Die hier bereitgestellten cURL-Beispiele sind ausschließlich zu Lernzwecken gedacht. In einer echten Implementierung sollten Sie Verify direkt in Ihre Backendunter Verwendung Ihrer bevorzugten Programmiersprache.

Was kommt als Nächstes?

Da Sie nun wissen, wie die Verify-API funktioniert und wie leistungsfähig der Multi-Channel-Ansatz ist, sollten Sie sich die verschiedenen unterstützten Kanäle ansehen, die Sie für Ihre Verifizierung verwenden können Arbeitsablauf.

Verbessern Sie Ihren Überprüfungsprozess durch die Implementierung Stille Authentifizierungdie es Ihnen ermöglicht, Benutzer über den Mobilfunkverkehr zu verifizieren, ohne dass sie ein OTP eingeben müssen.

Vergessen Sie schließlich nicht, die API-SpezifikationDort finden Sie weitere nützliche Parameter, mit denen Sie die Verify-API optimal nutzen können.