Ana içeriğe geç

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

HeaderValue
Content-Typeapplication/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

AlanTipZorunluAçıklamaÖrnek
client_idstringOAuth client ID"{{client_id}}"
client_secretstringOAuth client secret-
redirect_uristringYönlendirme URI'si (registered)"https://example.com/callback"
reference_idstringİşlem referans ID'si (takip için)"EFT-98765"
expires_atstringSon kullanma tarihi (ISO 8601)""
metadataobjectÖzel metadata alanları (randevu, tutar vb.)-

🔄 Akış Diyagramı (Landing Page Auth — Mağaza Bağımsız Doğrulama)

Adım Açıklamaları:

AdımTarafİşlemAçıklama
1Servis Sağlayıcı → APIPOST /backend/landing/authMağaza bağımsız olarak doğrulama linki oluşturur. reference_id, metadata (randevu tarihi, servis bilgisi vb.) gönderilir.
2API → Servis Sağlayıcıshort_url + token dönerBenzersiz token ve short_url (https://wentro.net/l/{token}) döner.
3Servis Sağlayıcı → MüşteriSMS/e-posta/WhatsApp ile link gönderirOluşturulan kısa URL müşteriye gönderilir. Mağaza gerekmez, doğrudan son kullanıcıya ulaşılır.
4Müşteri → LinkLinki açarSon kullanıcı https://wentro.net/l/{token} linkini açar.
5Müşteri → APIPasskey doğrulama yapılırLink açıldığında müşteri passkey ile doğrulama ekranı görür. Onay verildiğinde doğrulama tamamlanır.
6API → Müşteriredirect_uri'ye yönlendirilirDoğrulama başarılı olduğunda, istek sırasında belirlenen redirect_uri (callback sayfası) kullanılarak müşteri yönlendirilir.
7Callback → MüşteriSayfa gösterilirSon kullanıcı callback/teşekkür sayfasını görür. İşlem tamamlanır.

Kullanım Senaryoları:

SenaryoAçı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ı

AlanTipAçıklama
tokenstringDoğrulama token (8 karakter)
short_urlstringKısa doğrulama URL'si (https://wentro.net/l/{token})
redirect_uristringYönlendirme URI'si
expires_atstringSon 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 "
}
errorerror_descriptionNe Zaman Oluşur
invalid_requestGerekli parametreler eksik: client_id, client_secret, redirect_uriclient_id, client_secret veya redirect_uri alanlarından biri boş
invalid_requestexpires_at değeri max 3 gün sonrası olabilirexpiredAt.isValid() false dönerse (⚠️ bkz. not — bu kontrolün tam olarak neyi doğruladığı netleştirilmeli)
invalid_requestexpires_at değeri max 3 gün sonrası olabilirexpiredAt, şu andan itibaren 3 günden daha ileri bir tarihse
invalid_clientClient bulunamadıGönderilen client_id'ye karşılık gelen bir OAuth client kaydı yok
invalid_grantRedirect URI uyuşmuyorGönderilen redirect_uri, client'ta kayıtlı redirect_uri ile eşleşmiyor
invalid_clientGeçersiz client_secretclient_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_url müş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.
  • metadata alanına istediğiniz dinamik verileri ekleyebilirsiniz (randevu tarihi, servis bilgisi, tutar vb.).
  • reference_id işlem takibi için kullanılır (landing/token endpoint'inde referanceId olarak döner).
  • expires_at boş bırakılırsa sistem varsayılan süreyi (3 gün) kullanır.