WhatsApp OTP Doğrulama
AnchorSpot, SMS'e alternatif olarak WhatsApp Business API üzerinden OTP gönderimini destekler. Daha yüksek iletim oranı, SMS maliyeti olmaması ve mesajın okunduğuna dair bildirim gibi avantajlar sunar.
Genel Bakış
WhatsApp OTP akışı SMS OTP ile birebir aynıdır; yalnızca iletim kanalı farklıdır. Misafir yine telefon numarasını girer, ancak kod SMS yerine WhatsApp üzerinden iletilir.
Misafir → Numara girer → WhatsApp mesajı gönderilir → Kodu girer → Bağlantı sağlanır
:::info Sağlayıcı AnchorSpot'un WhatsApp OTP entegrasyonu toplusms.app altyapısını kullanır. Bu platform, Meta'nın resmi WhatsApp Business API ortağıdır. :::
Ön Gereksinimler
- WhatsApp Business hesabı — aktif ve doğrulanmış olmalıdır.
- Onaylı mesaj şablonu — Meta, şablonları önceden inceleyip onaylar; genellikle 24–48 saat sürer.
- toplusms.app API anahtarı ve ilişkili gönderici telefon numarası.
Mesaj Şablonu
Meta politikası gereği OTP mesajları önceden onaylanmış bir şablon üzerinden gönderilmek zorundadır. Tipik bir AnchorSpot şablonu:
Sayın misafirimiz, Wi-Fi bağlantısı için doğrulama kodunuz: {{1}}
Bu kod 5 dakika geçerlidir. Lütfen kimseyle paylaşmayın.
{{1}} yerine gerçek OTP kodu otomatik olarak yerleştirilir. Şablon ID'si konsol konfigürasyonunda belirtilmelidir.
API Akışı
OTP Talebi (WhatsApp)
curl -X POST https://<portal-host>/api/v1/hotspot-portal/sms/request \
-H "Content-Type: application/json" \
-d '{
"phone": "+905321234567",
"mac": "aa:bb:cc:dd:ee:ff",
"ssid": "Misafir-WiFi",
"channel": "whatsapp"
}'
channel: "whatsapp" parametresi ile sistem WhatsApp kanalını seçer.
Başarılı yanıt:
{
"status": "sent",
"channel": "whatsapp",
"expires_in": 300
}
OTP Doğrulama
Doğrulama endpoint'i SMS ile aynıdır:
curl -X POST https://<portal-host>/api/v1/hotspot-portal/sms/verify \
-H "Content-Type: application/json" \
-d '{
"phone": "+905321234567",
"code": "7364",
"mac": "aa:bb:cc:dd:ee:ff"
}'
SMS'e Otomatik Geri Dönüş (Fallback)
WhatsApp mesajı 30 saniye içinde iletilmezse sistem otomatik olarak SMS kanalına geçer.
WhatsApp iletimi başarısız → 30 sn bekle → SMS gönder → Misafir bilgilendirilir
Portal ekranında "WhatsApp ile gönderildi" veya "SMS ile gönderildi" durumu gösterilir. Geri dönüş davranışı konsol üzerinden devre dışı bırakılabilir.
:::tip Maliyet Tasarrufu WhatsApp mesajları Türkiye'de SMS maliyetinin genellikle %80'i kadar daha ucuzdur. Yoğun kullanımlı mekânlarda (AVM, havalimanı lounge) WhatsApp kanalı tercih edilmesi önerilir. :::
Konfigürasyon
Ayarlar → Kimlik Doğrulama → WhatsApp bölümünden:
| Parametre | Açıklama |
|---|---|
WHATSAPP_API_KEY | toplusms.app API anahtarı |
WHATSAPP_TEMPLATE_ID | Meta onaylı şablon ID'si |
WHATSAPP_SENDER_PHONE | Gönderici iş telefonu (E.164) |
WHATSAPP_FALLBACK_SMS | SMS geri dönüşü (true / false) |
WHATSAPP_FALLBACK_TIMEOUT_SEC | Geri dönüş bekleme süresi (varsayılan: 30) |
SMS ile Karşılaştırma
| Özellik | SMS OTP | WhatsApp OTP |
|---|---|---|
| İletim hızı | Orta | Yüksek |
| Maliyet | Yüksek | Düşük |
| Okundu bilgisi | Yok | Var |
| İnternet gerektirmez | Evet | Hayır |
| Kurulum karmaşıklığı | Düşük | Orta |
:::warning Dikkat
Misafirin telefonunda WhatsApp kurulu değilse veya numara WhatsApp'a kayıtlı değilse mesaj iletilmez. Fallback etkinleştirilmediği takdirde misafir bağlanamaz. Üretim ortamında WHATSAPP_FALLBACK_SMS=true bırakılması şiddetle önerilir.
:::
Sorun Giderme
Mesaj İletilmiyor
- toplusms.app panelinde gönderim kaydını kontrol edin.
- Şablonun Meta tarafından onaylı olduğunu doğrulayın (
APPROVEDdurumu). - Gönderici numarasının aktif bir WhatsApp Business hesabına bağlı olduğunu kontrol edin.
- Alıcı numarasının WhatsApp'a kayıtlı olduğunu doğrulayın.
Şablon Reddedildi
Meta şablon onay sürecinde içerik politikası ihlali tespit edebilir. Şablon metninin resmi ve kişisel veri içermediğinden emin olun. Gerekirse toplusms.app destek ekibinden yardım alın.