Skip to navigation

Toggle User Status

Kullanıcı Durumunu Değiştir

Offline kapsamındaki mevcut bir kullanıcının aktif/pasif durumunu tersine çevirir (toggle). Bu endpoint; sigorta şirketlerinin veya acentelerin kendi kapsamlarındaki bir kullanıcıyı pasifleştirmesine veya yeniden aktifleştirmesine olanak tanır. Endpoint kullanıcıyı silmez veya yeni kayıt oluşturmaz; yalnızca Disabled alanının değerini tersine çevirir. İstek; kimlik kapsamı çözümlemesi ve hedef kullanıcı erişim kontrolünden sonra durum değişikliğini gerçekleştirir.


Endpoint Bilgisi

ÖzellikDeğer
HTTP MetoduPATCH
URL/api/offline/users/{id}/status
Content-Type— (istek gövdesi kabul etmez)
YetkilendirmeAuthorization: Bearer {token}

Yetkilendirme Rolleri

Çağıranın aşağıdaki rollerden birine sahip olması gerekir:

RolErişim Kapsamı
InsuranceCompanyAPIAdminŞirket kapsamındaki kullanıcıların durumunu değiştirebilir
SupervizorŞirket/acente kapsamındaki kullanıcıların durumunu değiştirebilir

Not: Endpoint Update policy’si ile korunur. Bu rollere sahip olmayan kullanıcılar 403 Forbidden alır.

Route Parametreleri

ParametreTipZorunluAçıklama
idstringEvetDurumu değiştirilecek kullanıcının benzersiz tanımlayıcısı (GUID formatında)

İstek Gövdesi

Bu endpoint istek gövdesi kabul etmez. Değiştirilecek kullanıcı yalnızca route parametresi üzerinden belirtilir.

Toggle Davranışı: Endpoint hedef alınan kullanıcının mevcut durumuna göre işlem yapar: aktif kullanıcı pasife, pasif kullanıcı aktife çevrilir. İstekte hedef durum bilgisi gönderilmez.


İstek Örneği

PATCH /api/offline/users/ae116cd4-a26e-47ab-8b0f-07d5ac9cb79c/status
Authorization: Bearer {token}

Yanıt Formatı

Başarılı Yanıt

HTTP Durumu: 204 No Content

Başarılı işlemde yanıt gövdesi boştur.

HTTP/1.1 204 No Content

Hata Yanıtı

{
"Status": false,
"Code": "Error.Code",
"Message": "Error description",
"Response": null
}

HTTP Durum Kodları

DurumAçıklama
204 No ContentKullanıcı durumu başarıyla değiştirildi
400 Bad RequestKullanıcı ID’si boş veya eksik
401 UnauthorizedEksik, geçersiz veya süresi dolmuş token
403 ForbiddenYetersiz yetki, geçersiz rol/scope veya erişim kısıtı
500 Internal Server ErrorIdentity güncelleme hatası veya beklenmeyen business hatası

Hata Kodları Referansı

KodHTTP DurumuMesaj
OfflineUsers.IdRequired400User id is required.
OfflineUsers.NotAccessible403User {id} is not accessible.
OfflineUsers.InsuranceCompanyNotFound403No valid insurance company assignment found in token.
OfflineUsers.AgentNotFound403No valid agent assignment found in token.
OfflineUsers.AgentOrCompanyRoleRequired403User must have an agent or company role to perform this operation.
OfflineUsers.ToggleStatusFailed500User ‘{id}’ status toggle operation failed due to business rule violation.

İşleme Akışı

Endpoint, isteği aldığında aşağıdaki adımları sırasıyla uygular:

  1. Kimlik Doğrulama — Bearer token doğrulanır; token yoksa/geçersizse 401 döner.

  2. Yetkilendirme — Update policy’si ve InsuranceCompanyAPIAdmin / Supervizor rolü kontrol edilir; yetersizse 403 döner.

  3. Id Kontrolü — Route’taki id parametresi boş veya geçersizse OfflineUsers.IdRequired koduyla 400 döner.

  4. Identity Scope Çözümleme — Token claim’lerinden InsuranceCompanyIds (company) veya AgentId (agent) okunur. Uygun rol/scope yoksa 403 döner.

  5. Hedef Kullanıcı Erişim Kontrolü — Company scope için ve agent scope için erişim kontrolü yapılır. Hedef kullanıcı kapsam dışındaysa OfflineUsers.NotAccessible ile 403 döner.

  6. Durum Toggle İşlemi — Business katmanında kullanıcının Disabled alanı tersine çevrilir ve Identity güncellemesi yapılır.

  7. Sonuç — Başarıyla güncellenirse 204 No Content döner. Identity güncellemesi başarısız olursa OfflineUsers.ToggleStatusFailed koduyla 500 döner.


Notlar

  • Toggle Semantiği: Endpoint hedef durumu kendi belirler; mevcut durumun tersine çevirir. Bir kullanıcıyı belirli bir duruma (örn. yalnızca pasif yapmak) set etmek için tasarlanmamıştır. Çağıran taraf, mevcut durumu bildiği varsayımıyla işlemi tetiklemelidir.

  • Silme Değil, Pasifleştirme: Bu endpoint kullanıcıyı silmez. Yalnızca Disabled sütununu günceller. Pasifleştirilen kullanıcı sisteme giriş yapamaz ancak verisi korunur.

  • Identity Scope: İşlem, yalnızca çağıran tokenın kapsamındaki (şirket veya acente) kullanıcılar üzerinde yapılabilir. Kapsam dışındaki kullanıcılara yapılan istekler OfflineUsers.NotAccessible ile reddedilir.

  • İstek Gövdesi: Bu endpoint body kabul etmez. Gönderilen gövde yok sayılır; yalnızca route parametresi olan id dikkate alınır.


Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

userIdstringRequired
Unique identifier of the target user

Response

No Content

Errors

403
Forbidden Error