Anwendungen

Einmalcodes und Zwei-Faktor-Authentifizierung per SMS

Rufnummer bei der Registrierung bestätigen, Logins mit einem zweiten Faktor absichern oder eine Zahlung freigeben: Mit der Verify API brauchen Sie zwei Aufrufe. Der eine sendet den Code, der andere prüft ihn. Code-Erzeugung, Gültigkeit und Limits gegen Missbrauch übernimmt das Gateway.

MeinShopjetzt
Ihr MeinShop-Code lautet 482913. Er ist 5 Minuten gültig. Geben Sie ihn niemals weiter.

Ein typischer Login-Code: Ihr Name als Absender, der Code, seine Gültigkeit und ein Warnhinweis.

Wo SMS-Codes sinnvoll sind

Ein SMS-Code funktioniert auf jedem Telefon, ohne dass eine App installiert werden muss. Deshalb ist er weiterhin die Standardlösung für:

  • Registrierung und Rufnummernprüfung: Sie stellen sicher, dass die Nummer der Person gehört, die sich anmeldet, bevor Sie ein Konto freischalten.
  • Zwei-Faktor-Login (2FA): ein zweiter Schritt nach dem Passwort oder die Rückfallebene, wenn jemand keinen Zugriff mehr auf seine Authenticator-App hat.
  • Bestätigung sensibler Aktionen: Passwort oder Auszahlungsdaten ändern, eine Bestellung oder Zahlung freigeben.

Einen Vergleich von SMS-Codes mit TOTP-Apps und Passkeys, einschließlich der Risiken durch SIM-Swap, finden Sie in unserem Artikel OTP per SMS: sichere Implementierung.

So funktioniert die Verify API

  1. Ihre Anwendung ruft POST /api/verify/send mit der Rufnummer und Ihrem Markennamen auf. Das Gateway erzeugt den Code und sendet ihn per SMS.
  2. Der Nutzer gibt den Code in Ihr Formular ein.
  3. Sie rufen POST /api/verify/check mit der id aus Schritt 1 und dem Code auf. Die Antwort lautet valid: true mit dem Status approved oder eben nicht.

Sie erzeugen und speichern den Code nicht selbst, das Gateway hält nur einen HMAC-Fingerabdruck. Ein neuer Code an dieselbe Nummer macht den vorherigen ungültig.

Limits gegen Missbrauch sind eingebaut

OTP-Endpunkte ziehen Brute-Force-Versuche an, ebenso Bots, die massenhaft Codes anfordern und so Ihre SMS-Kosten in die Höhe treiben. Die Verify API setzt deshalb auf ihrer Seite feste Grenzen:

  • ein Code ist 60 bis 1.800 Sekunden gültig (Standard 5 Minuten)
  • 5 Versuche pro Code
  • höchstens 5 Codes pro Nummer und Stunde, mindestens 30 Sekunden zwischen zwei Codes

Ergänzen Sie eigene Limits pro IP-Adresse und pro Konto; wie das geht, zeigt der oben verlinkte Artikel. Eine Wiederholung nach einem Netzwerkfehler ist mit dem Header Idempotency-Key unkritisch, er gilt auch für /api/verify/send.

Testen, ohne etwas zu senden

Legen Sie im Dashboard einen Testschlüssel an: Er sendet und berechnet nichts, und der Code lautet immer 123456. So testen Sie Ihren Registrierungsablauf vollständig, einschließlich der Fehlerfälle, bevor Sie auf einen Produktivschlüssel umstellen. Ein neues Konto startet mit 10 SMS gratis.

Absender ist Ihr freigegebener Absendername; bis zur Freigabe gehen Codes als „TopSMS“ hinaus. Auf eine SMS unter einem Namen kann der Empfänger nicht antworten, und genau das ist bei Codes erwünscht.

Die beiden Aufrufe

Authentifizierung wie bei jedem Endpunkt: Authorization: Bearer CLIENT_ID:SECRET. Anfrage und Antwort wie in der Dokumentation:

POST /api/verify/send
{ "to": "+4915112345678", "brand": "MeinShop" }
→ { "ok": true, "id": "cmv...", "status": "pending", "expiresAt": "...", "price": 2.04 }

POST /api/verify/check
{ "id": "cmv...", "code": "482913" }
→ { "valid": true, "status": "approved" }

Beträge gibt die API in CZK an, der Währung, in der das Guthaben geführt wird: 2,04 CZK entsprechen 0,084 €. Weitere Details und Beispiele finden Sie auf der Seite Verify API (auf Tschechisch).

Vollständige API-Dokumentation →

Häufige Fragen

Was kostet ein Bestätigungscode?

Ein Code wird wie eine normale SMS in das Zielland berechnet: 0,084 € nach Deutschland, Österreich und in die übrige EU. Es gibt keine Grundgebühr und keine eigene Gebühr für den Prüfaufruf.

Muss ich die Codes selbst erzeugen und speichern?

Nein. Die Verify API erzeugt, sendet und prüft den Code. Das Gateway speichert nur einen HMAC-Fingerabdruck, nicht den Code selbst; Sie müssen also nichts speichern.

Wie lange ist ein Code gültig, und wie viele Versuche gibt es?

Zwischen 60 und 1.800 Sekunden, standardmäßig 5 Minuten. Pro Code sind 5 Versuche möglich, pro Nummer höchstens 5 Codes pro Stunde mit mindestens 30 Sekunden Abstand.

Kann ich die Integration ohne echte SMS testen?

Ja. Ein Testschlüssel sendet und berechnet nichts, der Code lautet immer 123456. Sobald Ihr Ablauf funktioniert, legen Sie einen Produktivschlüssel an; ein neues Konto erhält 10 SMS gratis.

Kommt der Code unter meinem Firmennamen an?

Ja, mit Ihrem freigegebenen Absendernamen mit bis zu 11 Zeichen. Bis zur Freigabe wird als TopSMS gesendet. Auf eine SMS unter einem Namen kann der Empfänger nicht antworten.

Testen Sie mit 10 SMS gratis

Kostenloses Konto, aktiv, sobald Sie Ihre Mobilnummer bestätigt haben. Ohne Kreditkarte, ohne Grundgebühr, Prepaid-Guthaben ohne Verfall.

Weitere Anwendungen