OTP hangi adımlarda kullanılır?
OTP (tek kullanımlık şifre), kullanıcının telefonuna gönderilen ve yalnızca bir kez geçerli olan koddur. Üye kaydında numara doğrulama, girişte iki adımlı doğrulama, şifre sıfırlamada kimlik kontrolü ve ödeme adımlarında işlem onayı için kullanılır.
SMS’in OTP için tercih edilmesinin nedeni basit: uygulama kurulumu gerektirmez, her telefonda çalışır ve alıcıya ulaşma oranı yüksektir. Kod gönderimi işlemsel bir iletidir; ticari ileti onayı gerektirmez.
Entegrasyonun üç adımı
SMS OTP entegrasyonu üç adımdan oluşur: kod isteme, doğrulama ve sonucu işleme. Platformda bu akış iki uç nokta üzerinden yürür.
Kod istemek için otp/generate uç noktasına telefon numarasını ve kullanım amacını gönderirsiniz. Kod, alıcıya 6 haneli olarak iletilir ve 180 saniye geçerlidir.
POST /api/v1/otp/generate
{
"phone": "0532 123 45 67",
"purpose": "LOGIN"
}
Yanıt:
{
"success": true,
"data": {
"phone": "905321234567",
"status": "DELIVERED",
"expiresAt": "2026-09-14T10:03:00.000Z"
}
}Doğrulama adımı
Kullanıcı kodu girdiğinde telefon numarası ve kodu otp/verify uç noktasına gönderirsiniz. Doğrulama kaydı sunucuda tutulur; kod onaylandığında doğrulama zamanı kayda işlenir.
Hatalı kod gönderildiğinde yanıt, kalan deneme hakkını da döndürür. Bu bilgiyi arayüzde göstermek, kullanıcının kaç hakkı kaldığını bilerek hareket etmesini sağlar.
POST /api/v1/otp/verify
{
"phone": "05321234567",
"code": "849201"
}
Hatalı kod yanıtı:
{
"success": false,
"error": "Hatalı doğrulama kodu. Kalan deneme hakkı: 2",
"remainingAttempts": 2
}Platformun doğrulama kuralları
Doğrulama akışının güvenliği, kuralların koda değil sunucuya yazılmasıyla başlar. Platformda kod üretimi ve doğrulaması aşağıdaki kurallarla çalışır.
- Kod 6 hanelidir ve 180 saniye geçerlidir
- Hatalı denemede kod kapanır: en fazla 3 deneme yapılabilir
- Aynı numaraya 45 saniyeden önce yeni kod gönderilmez
- Doğrulanan kod ikinci kez kullanılamaz
- Numaralar 905xxxxxxxxx formatına normalize edilerek işlenir
Bu kurallar neden var?
6 haneli bir kodun bir milyon olasılığı vardır. Deneme sayısını üçle sınırlamak, kaba kuvvet denemesini anlamsız kılar. 45 saniyelik bekleme, aynı numaraya art arda kod gönderilerek hem kullanıcının rahatsız edilmesini hem de gereksiz SMS maliyetini engeller. 180 saniyelik geçerlilik süresi ise kodun kısa ömürlü kalmasını sağlar: eski bir kod, aylar sonra işe yaramaz.
Bu üç kural birlikte çalıştığında doğrulama hem kullanıcı için hızlı hem de saldırgan için pahalı hale gelir.
Entegrasyonda dikkat edilmesi gerekenler
Uç noktalar hazır olsa da doğrulama akışının güvenliği entegrasyonun kendi kodunda tamamlanır. Aşağıdaki başlıklar, en sık atlanan noktalar.
- Kodu sunucu tarafında doğrulayın; istemci tarafındaki kontrol atlanabilir
- Kodu log kayıtlarına ve ekran görüntüsüne girecek yerlere yazmayın
- Numarayı göndermeden önce normalize edin; boşluklu ve +90’lı girdiler aynı numaradır
- SMS iletilemediğinde doğrulama akışını kilitlemeyin; yeni kod talebine izin verin
- Başarısız doğrulama denemelerini kaydedin; art arda denemeler şüpheli işaretidir
Nereden başlanır?
OTP servisini kullanmak için panelden hesap açmanız, başlık başvurusu yapmanız ve API anahtarı üretmeniz yeterlidir. Node.js, Python, PHP ve Go için hazır SDK’lar ve Türkçe dokümantasyon mevcuttur.