POST /backend/landing/auth — Landing Page Auth
📋 Genel Bilgi
Müşteriye gönderilmek üzere bir doğrulama linki (short URL) oluşturur. Metadata ile özel bilgiler eklenebilir.
Base URL: {{wentro}}/backend/landing/auth
Method: POST
Content-Type: application/json
🔐 Headers
| Header | Value |
|---|---|
| Content-Type | application/json |
📥 Request Body
{
"client_id": "{{client_id}}",
"client_secret": "{{client_secret}}",
"redirect_uri": "https://example.com/callback",
"reference_id": "EFT-98765",
"expires_at": "",
"metadata": {
"Randevu Tarihi": "2024-01-15",
"Servis": "Koltuk Temizleme",
"Tutar": 1500,
"Randevu Notu": "Önceki randevu notu"
}
}
Parametreler
| Alan | Tip | Zorunlu | Açıklama | Örnek |
|---|---|---|---|---|
client_id | string | ✅ | OAuth client ID | "{{client_id}}" |
client_secret | string | ✅ | OAuth client secret | - |
redirect_uri | string | ✅ | Yönlendirme URI'si (registered) | "https://example.com/callback" |
reference_id | string | ❌ | İşlem referans ID'si (takip için) | "EFT-98765" |
expires_at | string | ❌ | Son kullanma tarihi (ISO 8601) | "" |
metadata | object | ❌ | Özel metadata alanları (randevu, tutar vb.) | - |
🔄 Akış Diyagramı (Landing Page Auth — Mağaza Bağımsız Doğrulama)
Adım Açıklamaları:
| Adım | Taraf | İşlem | Açıklama |
|---|---|---|---|
| 1 | Servis Sağlayıcı → API | POST /backend/landing/auth | Mağaza bağımsız olarak doğrulama linki oluşturur. reference_id, metadata (randevu tarihi, servis bilgisi vb.) gönderilir. |
| 2 | API → Servis Sağlayıcı | short_url + token döner | Benzersiz token ve short_url (https://wentro.net/l/{token}) döner. |
| 3 | Servis Sağlayıcı → Müşteri | SMS/e-posta/WhatsApp ile link gönderir | Oluşturulan kısa URL müşteriye gönderilir. Mağaza gerekmez, doğrudan son kullanıcıya ulaşılır. |
| 4 | Müşteri → Link | Linki açar | Son kullanıcı https://wentro.net/l/{token} linkini açar. |
| 5 | Müşteri → API | Passkey doğrulama yapılır | Link açıldığında müşteri passkey ile doğrulama ekranı görür. Onay verildiğinde doğrulama tamamlanır. |
| 6 | API → Müşteri | redirect_uri'ye yönlendirilir | Doğrulama başarılı olduğunda, istek sırasında belirlenen redirect_uri (callback sayfası) kullanılarak müşteri yönlendirilir. |
| 7 | Callback → Müşteri | Sayfa gösterilir | Son kullanıcı callback/teşekkür sayfasını görür. İşlem tamamlanır. |
Kullanım Senaryoları:
| Senaryo | Açıklama |
|---|---|
| Randevu Onayı (Mağaza Bağımsız) | Servis sağlayıcı doğrudan müşteriye link gönderir → randevu tarihi, servis bilgisi metadata'ya eklenir → müşteri onay verir. Mağaza/terminal gerekmez. |
| İşlem Bazı Doğrulama | Ödeme/transfer işleminden önce "Ek Onay Gerekiyor" uyarısı verilir → Landing Page ile son kullanıcıdan anlık onay alınır. |
| KVKK / EK Onayı | Müşterinin KVKK veya Ek Onay (SMS, call, email) onayları alınmak istendiğinde kullanılır. |
✅ Response — 200 OK
{
"token": "Igt3zYUg",
"short_url": "https://wentro.net/l/Igt3zYUg",
"redirect_uri": "https://example.com/callback",
"expires_at": "2026-07-16 15:42:20"
}
Response Alanları
| Alan | Tip | Açıklama |
|---|---|---|
token | string | Doğrulama token (8 karakter) |
short_url | string | Kısa doğrulama URL'si (https://wentro.net/l/{token}) |
redirect_uri | string | Yönlendirme URI'si |
expires_at | string | Son kullanma tarihi (YYYY-MM-DD HH:mm:ss) |
❌ Error Responses
⚠️ Önemli: Bu endpoint, AppError/Response+Success:false formatını kullanmıyor. OAuth2 spesifikasyonuna uygun standart error/error_description formatını kullanıyor:
{
"error": "invalid_request",
"error_description": "Gerekli parametreler eksik: client_id, client_secret, redirect_uri "
}
| error | error_description | Ne Zaman Oluşur |
|---|---|---|
invalid_request | Gerekli parametreler eksik: client_id, client_secret, redirect_uri | client_id, client_secret veya redirect_uri alanlarından biri boş |
invalid_request | expires_at değeri max 3 gün sonrası olabilir | expiredAt.isValid() false dönerse (⚠️ bkz. not — bu kontrolün tam olarak neyi doğruladığı netleştirilmeli) |
invalid_request | expires_at değeri max 3 gün sonrası olabilir | expiredAt, şu andan itibaren 3 günden daha ileri bir tarihse |
invalid_client | Client bulunamadı | Gönderilen client_id'ye karşılık gelen bir OAuth client kaydı yok |
invalid_grant | Redirect URI uyuşmuyor | Gönderilen redirect_uri, client'ta kayıtlı redirect_uri ile eşleşmiyor |
invalid_client | Geçersiz client_secret | client_secret yanlış |
📝 Notlar
- Fark: Landing Page Auth, Dynamic QR'dan farklı olarak mağaza bağımsız çalışır. Doğrudan son kullanıcıya link gönderilir, mağaza/terminal gerekmez.
short_urlmüşteriye SMS/e-posta/WhatsApp ile gönderilir.- Müşteri linki açtığında passkey doğrulama ekranı açılır → onay verir →
redirect_uri'ye yönlendirilir. metadataalanına istediğiniz dinamik verileri ekleyebilirsiniz (randevu tarihi, servis bilgisi, tutar vb.).reference_idişlem takibi için kullanılır (landing/tokenendpoint'indereferanceIdolarak döner).expires_atboş bırakılırsa sistem varsayılan süreyi (3 gün) kullanır.