Tema
Sunucu Uçları
Widget arka planda aşağıdaki public uçları kullanır. Normal kurulumda bunları doğrudan çağırmanıza gerek yoktur — widget kendisi yönetir. Bu bölüm, davranışı anlamak veya ileri seviye entegrasyon yapmak isteyenler içindir. Yanıtlar data alanı ile sarılıdır.
| Uç | Yöntem | Yanıt | Not |
|---|---|---|---|
/v1/public/provider/{id} | GET | { socket_uri, livechat, webfon, ui, auth } | Token içermez; 60 sn edge-cache. |
/v1/public/provider/{id}/token?uid= | GET | { socket_uri, auth_token } | VISITOR (ziyaretçi) token'ı üretir. Üyeler bu ucu kullanmaz. |
/v1/public/provider/{id}/member/token?auth=&jkt= | GET | { socket_uri, auth_token } | Sosyal giriş kimlik token'ını (auth) USER soket token'ına takas eder; anahtar bağlaması (cnf.jkt) eklenir, üye alanları taşınır. Özel giriş (getToken) bu ucu kullanmaz. |
/v1/public/provider/{id}/oauth/{social}?origin= | GET | 302 → sosyal onay sayfası | Popup içinde açılır; origin doğrulanır. |
/v1/public/oauth/{social}/callback | GET/POST | HTML (postMessage + kapanış) | İşletmeden bağımsız (sağlayıcı adına kayıtlı; pid imzalı state'te); kimlik token'ını iletir. |
Yapılandırma ucu
GET /v1/public/provider/{id} widget'ın görünüm ve davranış ayarlarını (ui bloğu, açık kanallar, soket adresi, açık sosyal giriş sağlayıcıları — auth.oauth_providers) döndürür. Token içermez ve 60 saniye edge-cache'lenir. Bu nedenle admin panelinde yaptığınız bir değişiklik widget'a en geç ~1 dakika içinde ulaşır.
Token uçları
Soket bağlantısı için kısa ömürlü token'lar, kimliğe göre iki ayrı uçtan üretilir:
GET /v1/public/provider/{id}/token?uid=→ VISITOR (ziyaretçi) token'ı. Zaman tabanlı (HH:MM UTC) imza ile üretilir; ziyaretçiuid'i anahtar-türevli olduğundan ayrıca bir bağlama gerekmez.GET /v1/public/provider/{id}/member/token?auth=&jkt=→ USER (üye) token'ı.auth(sosyal girişin ürettiği kimlik token'ı) doğrulanır, anahtar bağlaması (cnf.jkt) eklenir ve üye alanları (name/email/data) taşınır. Geçersiz/süresi dolmuşauth→ 401; eksikauthveyajkt→ 400.
Özel giriş (mod 2) hiçbirini kullanmaz: backend'iniz soket token'ını doğrudan imzalar ve widget onu doğrudan kullanır (bkz. Kimlik Doğrulama).
Bu uçlardan gelen soket token'ı yaklaşık 50 saniyede bir tazelenir ve asla kalıcılaştırılmaz (yalnızca bellekte tutulur). Bkz. Depolama Anahtarları.
OAuth uçları
Sosyal giriş için widget iki ek uç kullanır:
GET /v1/public/provider/{id}/oauth/{social}?origin= popup içinde açılır. API origin'i sağlayıcının kayıtlı domain'iyle doğrular, imzalı ve 10 dakika geçerli bir state üretir ve isteği sosyal sağlayıcının onay sayfasına yönlendirir (302). {social}, admin panelinde açılmış bir sağlayıcı olmalıdır; değilse 404 döner.
GET|POST /v1/public/oauth/{social}/callback sosyal sağlayıcının geri döndüğü, işletmeden bağımsız (her sosyal sağlayıcı için tek) uçtur: state doğrulanır, kimlik alınır, üye kaydı oluşturulur/güncellenir ve sağlayıcının secret_key'i ile imzalı 24 saatlik kimlik token'ı üretilir (uid = "<social>:<sub>"). Yanıt, token'ı window.opener.postMessage ile yalnızca doğrulanmış origin'e ileten ve kendini kapatan minimal bir HTML sayfasıdır. Akışın tamamı için bkz. Kimlik Doğrulama.