SMS-Verifizierungs-API-Leitfaden 2026: Twilio, Vonage, MessageBird, Plivo
Was ist eine SMS-Verifizierungs-API?
Eine SMS-Verifizierungs-API erfüllt eine Aufgabe: Sie sendet ein Einmalpasswort (OTP) an eine Telefonnummer und bestätigt, ob der Benutzer es korrekt eingegeben hat. Das ist die oberflächliche Beschreibung. Das Interessante sind all die Dinge, die darunter liegen.
Eine echte Verifizierungs-API kümmert sich um fünf Dinge, die Sie nicht selbst erstellen möchten:
- Carrier-Routing. Verschiedene Länder leiten SMS über unterschiedliche Carrier weiter, und jeder Carrier hat seine eigene Lieferlatenz, Ausfallrate und Kosten.
- Drosselung und Betrugserkennung. Eine gute API blockiert offensichtliche Missbrauchsmuster (derselbe IP-Adresse fordert 200 Codes an, sequentielle Telefonnummern, bekannte Wegwerf-Carrier), bevor sie Ihre Rechnung belasten.
- Länderkonformität. Indien erfordert eine DLT-Registrierung. Frankreich blockiert alphanumerische Absender-IDs. Deutschland hat eigene Regeln für Absender-IDs. Die API kümmert sich darum für Sie.
- Code-Generierung und -Validierung. Einige APIs lassen Sie Ihren eigenen Code mitbringen. Andere generieren und validieren den Code auf ihren Servern, was eine Klasse von Timing-Angriffen aus Ihrem Code entfernt.
- Webhook-Zustellung für Statusaktualisierungen. Wenn eine Nachricht abprallt, müssen Sie dies innerhalb von Sekunden wissen, nicht erst, wenn sich der Benutzer beschwert.
Die drei Hauptaufgaben sind die OTP-Zustellung zur Anmeldung, die Zwei-Faktor-Authentifizierung für die Anmeldung und die Bestätigung von Transaktionen mit hohem Risiko. Die meisten Teams verwenden für alle drei dieselbe API. Einige größere Teams teilen sie zur Redundanz auf verschiedene Anbieter auf, was wir später behandeln werden.
Warum eine dedizierte SMS-Verifizierungs-API verwenden?
Sie könnten das selbst bauen. Wir werden nicht so tun, als wäre das nicht so. Sie können einen Direktvertrag mit einem Carrier-Aggregator abschließen, Ihr eigenes SMPP-Gateway einrichten und Ihren eigenen Code-Generator entwickeln. Wir haben Teams gesehen, die das getan haben. Wir haben auch gesehen, wie diese Teams achtzehn Monate später leise zu Twilio migriert sind.
Hier ist der Grund, warum die meisten Teams für eine verwaltete API bezahlen:
Die Carrier-Beziehungen sind wichtiger als der Code. Twilio hat direkte Beziehungen zu Hunderten von Carriern weltweit. Vonage (früher Nexmo) macht das seit 2010. Diese Beziehungen kosten echtes Geld und brauchen Jahre, um aufgebaut zu werden. Sie können sie nicht an einem Wochenende nachbilden.
Betrug ist ein sich ständig änderndes Ziel. Toll-Fraud-Angriffe (auch SMS-Pumping genannt) kosten echte Unternehmen Hunderte von Tausenden von Dollar pro Quartal. Das Muster: Ein Angreifer nutzt Ihr Anmeldeformular, um Verifizierungscodes an Premium-Nummern in Ländern mit geringem Volumen zu senden, und der Carrier zahlt einen Teil der SMS-Kosten an den Angreifer zurück. Die großen APIs haben Jahre damit verbracht, die Erkennung dafür zu optimieren.
Compliance ist eine Steuer, die Sie nicht ignorieren können. Allein die DLT-Registrierung in Indien dauert Wochen und erfordert eine lokale juristische Person. Die CNIL-Regeln Frankreichs gelten, wenn Sie französische Nutzer haben. Die API-Anbieter kümmern sich darum für Sie, auch wenn Sie es nicht merken.
Die Zustellqualität hängt von Hot Routes ab. Eine "Hot Route" ist ein Hochgeschwindigkeits-Carrier-Pfad, der Nachrichten in weniger als fünf Sekunden liefert. Kalte Routen können Minuten dauern oder stillschweigend fehlschlagen. Der Zugang zu Hot Routes über eine API ist dramatisch günstiger, als sie direkt zu verhandeln.
Wenn Sie also nicht über eine Million Verifizierungen pro Monat durchführen und keine dedizierte Infrastruktur-Team haben, besagt die Rechnung: Nutzen Sie eine API. Die Frage ist nur, welche.
Top 5 SMS-Verifizierungs-APIs im Jahr 2026
Wir haben jeden Anbieter anhand desselben Workflows getestet: Senden Sie eine OTP an eine US-Nummer, eine indische Nummer, eine deutsche Nummer und eine brasilianische Nummer, und validieren Sie dann den Code auf unserem Backend. Wir haben 100 Verifizierungen pro Anbieter und Land über ein 30-Tage-Fenster im März 2026 durchgeführt. Hier ist, was wir gefunden haben.
1. Twilio Verify
Twilio ist aus gutem Grund die Standardwahl. Ihre Verify-API ist speziell für OTP-Flows konzipiert und von ihrer allgemeinen Programmable Messaging API getrennt. Diese Trennung ist wichtig, da sie Ihnen einen pauschalen Preis pro Verifizierung bietet, anstatt pro ausgehender SMS plus pro eingehendem Webhook zu bezahlen.
Preis pro Verifizierung: 0,05 $ pro erfolgreicher Verifizierung (USA), 0,07-0,20 $ international, mit zusätzlichen Carrier-Gebühren in einigen Ländern. Dies ist der Preis, der die meisten Entwickler interessiert.
Was uns gefallen hat: Die SDK-Ergonomie ist unübertroffen. Ihre Dokumentation ist der Goldstandard. Kanal-Fallback (SMS zu Anruf zu E-Mail) funktioniert sofort. Ihre Betrugserkennung hat während unseres Testzeitraums zwei SMS-Pumping-Versuche abgefangen, ohne dass wir etwas konfigurieren mussten.
Was uns nicht gefallen hat: Preissteigerungen bei internationalen Routen. Indien, Indonesien und Brasilien kosten spürbar mehr, als der angegebene Preis vermuten lässt. Carrier-Gebühren können Ihre Rechnung in einigen Märkten verdoppeln.
Am besten geeignet für: US-lastigen Traffic, Teams, die Dokumentation schätzen, alle, die Sprach-Fallback benötigen.
2. Vonage Verify (ehemals Nexmo)
Vonage ist länger als fast jeder andere in diesem Bereich tätig. Ihre Verify-API ist ausgereift, gut dokumentiert und enthält eine integrierte PIN-Prüfung auf ihren Servern. Sie müssen die OTP nicht in Ihrer Datenbank speichern, was eine Klasse von Speicherangriffen aus Ihrem Sicherheitsmodell entfernt.
Preis pro Verifizierung: 0,062 $ pro erfolgreicher Verifizierung (USA), mit ähnlichen gestaffelten Preisen international. Ihre Preise sind in den meisten von uns getesteten Märkten näher an einem Festpreis als die von Twilio.
Was uns gefallen hat: Der Zwei-Faktor-Checkout-Flow ist sauber. Sie beinhalten drei Wiederholungsversuche in derselben Verifizierungsgebühr, was Twilio nicht tut. Ihr Support-Team beantwortet tatsächlich technische Fragen.
Was uns nicht gefallen hat: Ihr Dashboard wirkt, als wäre es zuletzt 2018 neu gestaltet worden. Das Node.js SDK hat einige Kanten im Umgang mit Promise-Rejections. Webhook-Signierung war Anfang 2024 inkonsistent, scheint aber jetzt behoben zu sein.
Am besten geeignet für: Teams, die einen pauschalen internationalen Tarif wünschen und die OTP-Speicherung nicht selbst verwalten möchten.
3. MessageBird (jetzt Bird)
MessageBird wurde 2023 in Bird umbenannt und hat seine Entwicklerplattform neu aufgebaut. Die neue API ist sauberer, aber auch ein sich ständig änderndes Ziel. Wir haben während unseres Testzeitraums zwei Breaking Changes erlebt.
Preis pro Verifizierung: 0,04-0,08 $ pro Verifizierung je nach Land. Auf dem Papier eine der günstigeren Optionen.
Was uns gefallen hat: Ihr Flow Builder ermöglicht es nicht-technischen Teammitgliedern, den Verifizierungsfluss anzupassen, ohne neu zu deployen. Europäische Carrier-Routen sind ausgezeichnet (sie sind ursprünglich ein niederländisches Unternehmen). Die DSGVO-Haltung ist die gründlichste, die wir geprüft haben.
Was uns nicht gefallen hat: Die API-Stabilität war seit dem Rebranding holprig. Die Dokumentation hinkt an einigen Stellen der tatsächlichen API hinterher. Einige Legacy-Endpunkte sind ohne klare Migrationspfade veraltet.
Am besten geeignet für: EU-lastigen Traffic, Teams, die DSGVO-freundliche Standardeinstellungen sofort benötigen.
4. Plivo
Plivo positioniert sich als Budget-Alternative zu Twilio mit einem ähnlichen Funktionsumfang. In unseren Tests ist das ungefähr richtig, wenn auch mit einigen echten Kompromissen.
Preis pro Verifizierung: 0,045 $ pro Verifizierung (USA), mit gestaffelten internationalen Tarifen. Oft die günstigste Option für hohes Volumen.
Was uns gefallen hat: Der Preis ist für den Großteil des US- und EU-Traffics tatsächlich niedriger als bei Twilio. Ihr Guthabensystem ist sauber. Ihr Support-Team antwortet während der Geschäftszeiten innerhalb einer Stunde. Das API-Design ist ein fast exakter Klon von Twilio, was die Migration fast schmerzlos macht.
Was uns nicht gefallen hat: Die indischen und brasilianischen Zustellraten waren in unseren Tests messbar schlechter als bei Twilio. Ihre Betrugserkennung hat weniger offensichtliche Angriffe abgefangen. Die Verifizierungs-API ist jünger als die anderen, daher treten immer noch Randfälle auf.
Am besten geeignet für: Kostensensitive Teams mit hauptsächlich US- oder EU-Traffic.
5. Sinch
Sinch ist die Enterprise-Option. Sie haben Inteliquent, MessageMedia und mehrere andere Carrier übernommen, was ihnen direkte Routen in Märkten verschafft, in denen alle anderen einen Aufschlag zahlen. Ihre Preisgestaltung spiegelt diese Positionierung wider.
Preis pro Verifizierung: Benutzerdefinierte Enterprise-Preise, typischerweise 0,04-0,10 $ pro Verifizierung, abhängig von der Volumenverpflichtung. Schwer zu bewerten ohne ein Verkaufsgespräch.
Was uns gefallen hat: Die Carrier-Beziehungen sind echt. Die indischen Zustellraten waren die besten, die wir gemessen haben. Die Qualität ihres Sprach-Fallbacks war in unseren Tests besser als die von Twilio.
Was uns nicht gefallen hat: Keine transparente Preisgestaltung. Das Self-Service-Onboarding ist holpriger als bei den Wettbewerbern. Ihre API hat mehr Legacy-Eigenheiten als die anderen.
Am besten geeignet für: Enterprise-Teams mit hohem Volumen und der Geduld zu verhandeln.
Vergleich der Preise für SMS-Verifizierungs-APIs
Hier ist ein Vergleich der typischen Raten für 2026. Alle Preise gelten pro erfolgreicher Verifizierung, US-Route, Stand 1. April 2026. Internationale Raten variieren je nach Land.
| Anbieter | US-Rate | EU-Durchschnitt | Indien | Brasilien | Min. Aufladung |
|---|---|---|---|---|---|
| Twilio Verify | 0,05 $ | 0,07 $ | 0,18 $ | 0,14 $ | 20 $ |
| Vonage Verify | 0,062 $ | 0,075 $ | 0,16 $ | 0,13 $ | 10 $ |
| Bird (MessageBird) | 0,04 $ | 0,06 $ | 0,20 $ | 0,15 $ | 20 $ |
| Plivo | 0,045 $ | 0,065 $ | 0,22 $ | 0,17 $ | 25 $ |
| Sinch | 0,04-0,10 $ | variiert | 0,11 $ | 0,12 $ | Enterprise |
Zwei Dinge sind zu beachten. Erstens ist die angegebene US-Rate allein irreführend. Wenn Sie nennenswerten internationalen Traffic haben, sind die länderspezifischen Raten wichtiger als der US-Preis. Zweitens variiert die Preisgestaltung für Indien und Brasilien stark. Wenn Sie eines dieser Märkte ansprechen, führen Sie vor der Verpflichtung eigene Tests durch.
Für ein Team mit hohem Volumen, das 100.000 Verifizierungen pro Monat durchführt, aufgeteilt auf 60 % USA, 30 % EU, 10 % Rest der Welt, liegen die realistischen monatlichen Kosten je nach gewähltem Anbieter zwischen 5.200 und 7.800 US-Dollar. Die günstigste Option ist nicht immer die niedrigste Gesamtkosten, wenn Ausfallraten berücksichtigt werden.
Codebeispiele: Senden einer OTP
Hier ist derselbe Workflow für drei Anbieter in drei Sprachen. Die Struktur ist ähnlich genug, dass Sie Code normalerweise zwischen ihnen portieren können, indem Sie Endpunkt-URLs und Parameternamen ändern.
Node.js mit Twilio Verify
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const verifyServiceSid = process.env.TWILIO_VERIFY_SERVICE_SID;
const client = require('twilio')(accountSid, authToken);
async function sendVerification(phoneNumber) {
try {
const verification = await client.verify.v2
.services(verifyServiceSid)
.verifications
.create({ to: phoneNumber, channel: 'sms' });
return { success: true, status: verification.status };
} catch (error) {
console.error('Twilio verification failed:', error.message);
return { success: false, error: error.message };
}
}
async function checkVerification(phoneNumber, code) {
const result = await client.verify.v2
.services(verifyServiceSid)
.verificationChecks
.create({ to: phoneNumber, code });
return result.status === 'approved';
}
Ein paar Hinweise zu diesem Code. Die verifyServiceSid wird einmal im Twilio-Dashboard erstellt und für jede Verifizierung wiederverwendet. Das Statusfeld gibt pending, approved, canceled oder failed zurück. Behandeln Sie jede davon explizit. Gehen Sie nicht davon aus, dass success gleich approved bedeutet.
Python mit Vonage Verify
import os
import vonage
client = vonage.Client(
key=os.environ['VONAGE_API_KEY'],
secret=os.environ['VONAGE_API_SECRET']
)
verify = vonage.Verify(client)
def send_verification(phone_number, brand_name='YourApp'):
response = verify.start_verification(
number=phone_number,
brand=brand_name,
code_length=6,
pin_expiry=300
)
if response['status'] == '0':
return {'success': True, 'request_id': response['request_id']}
return {'success': False, 'error': response.get('error_text')}
def check_verification(request_id, code):
response = verify.check(request_id, code=code)
return response['status'] == '0'
Vonage verwendet die request_id als Handle für eine Verifizierung, nicht die Telefonnummer. Speichern Sie diese in Ihrer Sitzung oder Datenbank neben dem Benutzerdatensatz. Die pin_expiry ist in Sekunden; wir verwenden 300 (5 Minuten), was dem entspricht, was die meisten Apps den Benutzern anzeigen.
PHP cURL mit MessageBird (Bird)
<?php
$accessKey = getenv('BIRD_ACCESS_KEY');
$workspaceId = getenv('BIRD_WORKSPACE_ID');
function sendVerification($phoneNumber) {
global $accessKey, $workspaceId;
$url = "https://nest.messagebird.com/workspaces/{$workspaceId}/channels/sms/verify";
$payload = json_encode([
'recipient' => $phoneNumber,
'codeLength' => 6,
'expiry' => 300
]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => [
'Authorization: AccessKey ' . $accessKey,
'Content-Type: application/json'
]
]);
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($statusCode === 201) {
return ['success' => true, 'data' => json_decode($response, true)];
}
return ['success' => false, 'error' => $response];
}
Die Bird-API erfordert eine Workspace-ID im URL-Pfad, was eine neuere Änderung gegenüber den alten MessageBird-Endpunkten ist. Wenn Sie von der Legacy-API migrieren, ist dies die häufigste Stolperfalle.
Webhook-Einrichtung für Zustellstatus
Das Senden einer OTP ist die halbe Miete. Die andere Hälfte ist zu wissen, ob sie tatsächlich angekommen ist. Jede große API unterstützt Webhooks für den Zustellstatus, aber die Implementierungsdetails variieren.
Hier ist ein generischer Express.js-Webhook-Handler, der als Ausgangspunkt für jeden Anbieter dient:
const express = require('express');
const crypto = require('crypto');
const app = express();
app.post('/webhooks/sms-status', express.json(), (req, res) => {
const signature = req.headers['x-provider-signature'];
const expectedSignature = crypto
.createHmac('sha256', process.env.WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
const { messageId, status, errorCode, phoneNumber } = req.body;
switch (status) {
case 'delivered':
logSuccess(messageId);
break;
case 'failed':
handleFailure(messageId, errorCode, phoneNumber);
break;
case 'undelivered':
retryWithFallbackChannel(phoneNumber);
break;
default:
console.log(`Unhandled status: ${status}`);
}
res.status(200).send('OK');
});
Ein paar Regeln, die wir bei Webhooks in der Produktion befolgen. Verifizieren Sie immer die Signatur; ein nicht authentifizierter Webhook-Endpunkt ist eine offene Tür. Geben Sie immer schnell ein 200 zurück, auch wenn Ihre Verarbeitung länger dauert; reihen Sie die eigentliche Arbeit in einem Hintergrundjob ein. Idempotenz ist wichtig, da Anbieter bei Zeitüberschreitungen wiederholen werden.
Benötigen Sie eine virtuelle Nummer für Endverbraucher?
Testen Sie VerifySMS →150+ Länder · Sofortige Aktivierung · 0,10 $ pro Verifizierung
Ratenbegrenzung und Wiederholungsstrategien
Bei der Ratenbegrenzung scheitern die meisten Teams. Hier ist das Muster, das wir verwenden.
Ratenbegrenzung pro Telefonnummer. Nicht mehr als 3 OTPs an dieselbe Telefonnummer innerhalb eines 10-Minuten-Fensters. Dies stoppt versehentliche Anforderungs-Schleifen und die meisten gelegentlichen Missbräuche.
Ratenbegrenzung pro IP-Adresse. Nicht mehr als 10 OTP-Anforderungen von derselben IP-Adresse innerhalb eines 5-Minuten-Fensters. Locker genug, um gemeinsame Büros nicht zu beeinträchtigen, eng genug, um Anmelde-Bots zu verlangsamen.
Ratenbegrenzung pro Konto. Wenn ein Benutzerkonto mehr als 5 Verifizierungsfehler in 24 Stunden hat, sperren Sie das Konto und fordern Sie eine E-Mail-Zurücksetzung an. Dies ist die wirksamste einzelne Maßnahme gegen Missbrauch, die wir bisher implementiert haben.
Exponentielle Rückschaltung bei Wiederholungsversuchen. Wenn die API einen 5xx-Fehler zurückgibt, versuchen Sie es nach 1 Sekunde erneut, dann nach 4 Sekunden, und geben Sie dann auf. Versuchen Sie es nicht erneut bei 4xx-Fehlern; diese sind fast immer permanent.
Hier ist, wie das in der Praxis aussieht:
async function sendWithRetry(phoneNumber, maxAttempts = 3) {
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
try {
const result = await sendVerification(phoneNumber);
if (result.success) return result;
if (result.statusCode >= 400 && result.statusCode < 500) {
return result;
}
} catch (error) {
if (attempt === maxAttempts) throw error;
const delay = Math.pow(2, attempt) * 1000;
await new Promise(resolve => setTimeout(resolve, delay));
}
}
}
Fehlerbehandlung: Zustellfehler und Länderverbote
Jede SMS-API gibt Fehler in leicht unterschiedlichen Formaten zurück, aber die gängigen Fehlerarten sind universell. Hier ist, wie man sie behandelt.
Ungültiges Telefonnummernformat. Geben Sie den Fehler sofort an den Benutzer zurück. Versuchen Sie es nicht erneut. Verbrauchen Sie keine API-Guthaben.
Nummer ist auf einer "Nicht stören"-Liste. Die Carrier des Benutzers haben die Nummer als aus dem Marketing-SMS-Verteiler ausgetragen markiert. Einige APIs erlauben es Ihnen, die Nachricht als transaktional zu kennzeichnen, um dies zu umgehen; andere erfordern eine manuelle Carrier-Intervention. In der Praxis sollten Sie auf den E-Mail- oder Sprachkanal ausweichen.
Land ist eingeschränkt. Einige Länder (Kuba, Iran, Nordkorea, Teile der Krim) stehen auf Sanktionslisten. Ihre API wird die Sendung verweigern. Erkennen Sie dies bei der Anmeldung und leiten Sie den Benutzer zur E-Mail-Verifizierung.
Carrier-Filterung. Der Carrier hat die Nachricht stillschweigend fallen gelassen. Sie erhalten keine Zustellbestätigung. Legen Sie ein 90-Sekunden-Timeout für den Verifizierungsversuch fest; wenn kein Code ankommt, fordern Sie den Benutzer auf, es erneut zu versuchen oder den Kanal zu wechseln.
Unzureichendes Guthaben. Ihr Prepaid-Guthaben ist auf Null gesunken. Richten Sie eine Benachrichtigung ein, wenn 20 % des Guthabens übrig sind, nicht bei Null. Wir haben das auf die harte Tour gelernt.
Kostenoptimierungstaktiken
Sobald Sie ein echtes Volumen erzielen, werden die Kosten pro Verifizierung zu einem echten Posten. Hier sind die Taktiken, die für uns funktioniert haben.
Erfolgreiche Verifizierungen cachen. Wenn ein Benutzer seine Telefonnummer vor 30 Tagen verifiziert hat und sich gerade wieder anmeldet, benötigen Sie keine neue OTP. Verwenden Sie ein langlebiges Authentifizierungs-Token und verifizieren Sie nur bei verdächtigen Aktivitäten erneut.
Sprach-Fallback für Märkte mit hohen Kosten verwenden. Sprachverifizierung kann in einigen Regionen (insbesondere Teilen Afrikas und des Nahen Ostens) günstiger sein als SMS. Konfigurieren Sie die Kanalpräferenz pro Land.
Multi-Provider-Failover durchführen. Ein primärer und ein sekundärer Anbieter. Wenn der primäre einen Fehler zurückgibt oder nicht innerhalb von 30 Sekunden liefert, versuchen Sie es mit dem sekundären. Die Kostenüberschreitung ist gering und die Steigerung der Erfolgsquote ist real. Wir haben in unseren Testmärkten eine Steigerung von 4-6 % gemessen.
Volumenpreise früher als erwartet aushandeln. Die meisten Anbieter bieten Volumenrabatte ab etwa 10.000 Verifizierungen pro Monat an. Der Rabatt wird selten beworben. Fragen Sie danach.
Premium-Rate-Länder blockieren, die Sie nicht bedienen. Legen Sie eine Länder-Whitelist auf Ihrem Anmeldeformular fest. Wenn Sie ein reines US-Produkt sind, ist das Blockieren von über 200 Ländern eine kostenlose Betrugsreduzierung. SMS-Pumping-Angriffe nutzen diese Lücke.
Alternativen zu Twilio Verify, die es wert sind, bekannt zu sein
Wir haben uns auf die oben genannten fünf großen Anbieter konzentriert, da sie am häufigsten nachgefragt werden. Aber der Markt für SMS-Verifizierung bietet mehr Optionen, als die Leute denken, und einige davon sind einen zweiten Blick wert, je nach Ihrem Anwendungsfall.
Für entwicklerfreundliche kostenlose Tarife probieren Sie Termii (ausgezeichnet für afrikanische Märkte) oder Telnyx (US-lastig mit Carrier-Grade-Routing). Für reine API-Einfachheit ist Authy (jetzt Teil von Twilio) immer noch die sauberste 2FA-only-Option. Für Self-Hosting gibt es ein Verifizierungs-Plugin für Apache APISIX, das mit den meisten großen SMS-Gateways funktioniert.
Für virtuelle Nummern für Endverbraucher ist VerifySMS das, was wir entwickelt haben. Wir sind keine API; wir sind eine iOS-App für Leute, die eine Telefonnummer benötigen, um einen Code zu empfangen, ohne ihre echte preiszugeben. Wenn Sie einen Authentifizierungsfluss erstellen und Ihre Benutzer sich ständig darüber beschweren, ihre persönlichen Nummern preiszugeben, senden Sie ihnen unseren Link.
Sollten Sie Ihre eigene SMS-Verifizierung erstellen?
Diese Frage stellen wir uns etwa einmal im Quartal von erfahrenen Ingenieuren. Die Antwort ist fast immer nein, aber hier ist die ehrliche Version.
Sie sollten Ihre eigene erstellen, wenn: Sie ein engagiertes Infrastrukturteam haben, Sie über 5 Millionen Verifizierungen pro Monat durchführen, Sie direkte Carrier-Beziehungen in mindestens drei Zielmärkten haben und Sie die rechtlichen Ressourcen haben, um die Compliance in jeder Gerichtsbarkeit, in der Sie tätig sind, zu handhaben. Andernfalls rechnet sich die Rechnung nicht.
Die versteckten Kosten für die Eigenentwicklung sind die Wartung der Compliance, die Optimierung der Betrugserkennung und die 24/7-Carrier-Eskalation. Das sind mindestens drei Ingenieure. Bei 200.000 US-Dollar Lohnkosten pro Ingenieur sind das 600.000 US-Dollar pro Jahr an reinen Gemeinkosten, bevor Sie eine einzige SMS gesendet haben. Der Break-Even-Punkt gegenüber Twilio liegt irgendwo bei 50.000 US-Dollar monatlichen API-Ausgaben.
Häufig gestellte Fragen
Was ist der Unterschied zwischen einer SMS-Verifizierungs-API und einem SMS-Gateway?
Ein SMS-Gateway sendet generische SMS-Nachrichten an Telefonnummern. Eine Verifizierungs-API ist ein höherwertiger Dienst, der OTP-Generierung, -Validierung, Wiederholungslogik und Betrugserkennung über einem SMS-Gateway abwickelt. Sie können ein Gateway für die Verifizierung verwenden, müssen aber die OTP-Schicht selbst erstellen.
Kann ich SMS-Verifizierungsanbieter wechseln, ohne meinen Benutzerfluss zu unterbrechen?
Ja, aber planen Sie eine Übergangsphase ein. Der sauberste Ansatz ist, den Anbieter hinter Ihrer eigenen internen API zu abstrahieren, sodass Ihr benutzerseitiger Code nur Ihren Verifizierungsdienst kennt, nicht den zugrunde liegenden Anbieter. Wir haben Produktionsverkehr zwischen Twilio und Vonage mit null für den Benutzer sichtbaren Ausfallzeiten migriert, indem wir genau das getan haben.
Wie verhindere ich SMS-Pumping-Angriffe auf mein Anmeldeformular?
Drei Dinge: Blockieren Sie Anmeldungen aus Ländern, die Sie nicht bedienen, begrenzen Sie die Raten pro IP und pro Telefonnummer und implementieren Sie ein CAPTCHA im Feld für die Eingabe der Telefonnummer für neue Benutzer. Die Kombination reduziert die meisten Pumping-Angriffe um über 95 %. Wenn Sie bereits angegriffen werden, eskalieren Sie sofort an das Betrugsteam Ihres Anbieters; sie können den Ziel-Carrier innerhalb von Stunden sperren.
Benötige ich immer noch eine SMS-API, wenn meine Benutzer Authentifizierungs-Apps haben?
Für die meisten Produkte ja. SMS ist immer noch der reibungsärmste zweite Faktor für neue Benutzer, und viele Benutzer haben keine Authentifizierungs-Apps installiert. Das Muster, das funktioniert, ist: Bieten Sie SMS-Verifizierung bei der Anmeldung an, um die Reibung zu verringern, und fordern Sie den Benutzer dann auf, innerhalb der ersten Woche auf eine Authentifizierungs-App oder einen Passkey zu aktualisieren. SMS wird zu einem Fallback für die Kontowiederherstellung.
Was passiert, wenn ein Verifizierungscode nach Ablauf meines Zeitfensters eintrifft?
Die API lehnt den späten Code bei der Verifizierungsprüfung ab. Der Benutzer muss einen neuen Code anfordern. Wir legen unsere Ablaufzeit auf 5 Minuten fest, was lang genug ist, damit die meisten Benutzer ihr Telefon finden, und kurz genug, um Wiederholungsangriffe zu begrenzen. Wenn Sie sie zu lang einstellen (über 15 Minuten), schaffen Sie ein echtes Sicherheitsrisiko; wenn Sie sie zu kurz einstellen (unter 90 Sekunden), werden Ihre Support-Tickets explodieren.
Wie teste ich die SMS-Verifizierung in meiner CI-Pipeline, ohne Geld für echte Codes auszugeben?
Jede große API verfügt über einen Sandbox- oder Testmodus. Twilio hat eine magische Testtelefonnummer, die immer erfolgreich ist. Vonage hat ein Testmodus-Flag beim Verifizierungsaufruf. Bird hat einen Sandbox-Workspace. Verwenden Sie diese in CI; führen Sie niemals echte Verifizierungen gegen Produktionsnummern in automatisierten Tests durch.
Das Fazit
Wählen Sie Twilio Verify, wenn Sie den Weg des geringsten Widerstands wünschen und Ihr Traffic US-lastig ist. Wählen Sie Vonage, wenn Sie einen pauschalen internationalen Preis und serverseitige OTP-Speicherung wünschen. Wählen Sie Bird, wenn Sie sich auf die EU konzentrieren und Wert auf DSGVO-Standardeinstellungen legen. Wählen Sie Plivo, wenn Sie preissensibel sind und Ihr Traffic hauptsächlich aus den USA oder der EU stammt. Wählen Sie Sinch, wenn Sie Enterprise-Volumen und die Geduld zum Verhandeln haben.
Wenn Sie eine Authentifizierung für Endverbraucher erstellen und Ihre Benutzer ständig fragen, wie sie Konten verifizieren können, ohne ihre persönliche Telefonnummer preiszugeben, ist das die Lücke, die VerifySMS füllt. Wir konkurrieren nicht mit den oben genannten APIs; wir sitzen auf der anderen Seite der Gleichung und geben Ihren Benutzern eine saubere Telefonnummer, um Ihre Codes zu empfangen.
Welchen Weg Sie auch wählen, das Erste, was Sie tun sollten, ist, ein 30-tägiges Messfenster gegen Ihren tatsächlichen Traffic-Mix durchzuführen. Die angegebene Preisgestaltung ist die am einfachsten zu vergleichende Zahl und der schlechteste Indikator für die Gesamtkosten. Der richtige Anbieter für Sie ist derjenige mit der höchsten Erfolgsquote in Ihren realen Märkten, nicht der niedrigste Listenpreis.
Erstellen Sie es einmal, messen Sie es monatlich und überprüfen Sie die Wahl alle zwölf Monate. Der SMS-Markt verändert sich schneller, als die meisten Leute denken.
Benötigen Sie eine virtuelle Nummer für Endverbraucher?
Testen Sie VerifySMS auf iOS →Sofortige Aktivierung · 150+ Länder · Kein KYC · Automatische Rückerstattung
