11 — Bakım Modu, Duyurular ve Zorunlu Güncellemeler
Kimin için: Planlı bakım yönetimi, kesinti iletişimi ve mobil/masaüstü sürüm zorlama yapan geliştiriciler.
Ön koşul: Uygulama Yönetim API'si.
Tahmini süre: 15 dakika.
Ne Öğreneceksiniz
- TALOST ID üzerinde planlı veya anlık bakım modu başlatmayı,
- Bakım sırasında OAuth girişlerinin ve IdP yönlendirmelerinin nasıl davrandığını,
- Uygulama içinde duyuru bantlarını ve bakım ekranlarını göstermeyi,
- Mobil ve masaüstü istemcilerde zorunlu güncelleme (Forced Update) akışını.
Bakım Modu Davranış Mimarisi
Uygulamanızı Geliştirici Portalından veya Admin Konsolundan bakıma aldığınızda:
- OAuth Girişleri:
/oauth/authorizeuç noktası, kullanıcı uygulamanın ekip üyesi veya platform yöneticisi değilse kullanıcıyı şifre sormadan doğrudan/oauth/bakim?app={slug}sayfasına yönlendirir. - Kullanıcı Paneli SSO:
id.talost.com/panelüzerinden yapılan tek tıkla doğrudan girişler durdurulur ve kullanıcıya bakım açıklaması sunulur. - API ve İstemciler:
GET /api/v1/apps/statusuç noktasımaintenance.active = truedöner. - Webhook: Kayıtlı webhook adresinize
app.maintenance.startedve bakım bittiğindeapp.maintenance.endedolayları gönderilir.
Ekip Üyeleri için Bypass
Uygulamanın geliştiricileri ve yöneticileri (`APP_OWNER`, `APP_DEVELOPER`, `SUPER_ADMIN`), bakım modunda dahi giriş yapmaya ve testlerini sürdürmeye devam edebilirler.
Uygulamanın geliştiricileri ve yöneticileri (`APP_OWNER`, `APP_DEVELOPER`, `SUPER_ADMIN`), bakım modunda dahi giriş yapmaya ve testlerini sürdürmeye devam edebilirler.
Zorunlu Güncelleme Akışı (Mobil ve Masaüstü)
Masaüstü (Electron, .NET) veya mobil (iOS, Android) uygulamanız açılırken:
typescript
// versionCheck.ts
export async function checkAppVersion(currentVersion: string) {
const clientId = "cli_live_xxxxxxxx";
const res = await fetch(
`https://id.talost.com/api/v1/apps/version-check?client_id=${clientId}&platform=WINDOWS&version=${currentVersion}`
);
if (!res.ok) return;
const data = await res.json();
if (data.forced_update) {
// 1. Durum: Zorunlu Güncelleme — Kullanım engellenmeli
showForcedUpdateModal({
latest: data.latest_version,
url: data.download_url,
});
} else if (data.update_available) {
// 2. Durum: İsteğe Bağlı Güncelleme — Bildirim göster
showOptionalUpdateBanner({
latest: data.latest_version,
url: data.download_url,
});
}
}
Uygulama İçi Bakım ve Duyuru Kontrolü
Uygulama sunucunuz veya frontend uygulamanız periyodik olarak veya açılışta GET /api/v1/apps/status yanıtını okuyarak kullanıcılarına uyarı bandı çıkarabilir:
typescript
// status.ts
export async function getEcosystemStatus() {
const res = await fetch("https://id.talost.com/api/v1/apps/status", {
headers: { "X-Talost-Api-Key": process.env.TALOST_APP_API_KEY! },
next: { revalidate: 30 }, // 30 saniye önbellek
});
const data = await res.json();
return data;
}
İlgili Sayfalar
Son doğrulama: 2026-10-04 · Kaynak: _envanter.md, src/lib/apps/announcements.ts, src/app/oauth/bakim/page.tsx
Son doğrulama: 2026-10-04 · Kaynak: `_envanter.md`, `src/lib/apps/announcements.ts`, `src/app/oauth/bakim/page.tsx`