Skip to navigation

Update User

Kullanıcı Güncelle

Offline kapsamındaki mevcut bir kullanıcının profil ve güvenlik alanlarını günceller. Bu endpoint; sigorta şirketlerinin veya acentelerin kendi kapsamlarındaki kullanıcıların kullanıcı adı, e-posta, ad soyad bilgilerini ve güvenlik ayarlarını (şifre değiştirme zorunluluğu, iki adımlı doğrulama, e-posta onay durumu) güncellemesine olanak tanır. İstek; doğrulama kontrolleri, kimlik kapsamı çözümlemesi, hedef kullanıcı erişim kontrolü ve duplicate e-posta/kullanıcı adı kontrollerinden sonra güncelleme işlemini gerçekleştirir.


Endpoint Bilgisi

ÖzellikDeğer
HTTP MetoduPUT
URL/api/offline/users/{id}
Content-Typeapplication/json
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ı güncelleyebilir
SupervizorŞirket/acente kapsamındaki kullanıcıları güncelleyebilir

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

Route Parametreleri

ParametreTipZorunluAçıklama
idstringEvetGüncellenecek kullanıcının benzersiz tanımlayıcısı

İstek Modeli

Ana İstek

Tüm alanların gönderilmesi zorunludur.

AlanTipZorunluAçıklamaDoğrulama Kuralları
UserNamestringEvetKullanıcı adıZorunlu: "UserName is required."
Min. 3 karakter: "UserName must be at least 3 characters."
Maks. 256 karakter: "UserName must be less than or equal to 256 characters."
EmailstringEvetE-posta adresiZorunlu: "Email is required."
Geçerli e-posta formatı olmalı: "Email must be a valid email address."
Maks. 256 karakter: "Email must be less than or equal to 256 characters."
FullNamestringEvetAd soyadZorunlu: "FullName is required."
Min. 3 karakter: "FullName must be at least 3 characters."
Maks. 100 karakter: "FullName must be less than or equal to 100 characters."
NeedPasswordChangebooleanEvetSonraki girişte şifre değiştirme zorunluluğuZorunlu: "NeedPasswordChange is required."
TwoFactorEnabledbooleanEvetİki adımlı doğrulama aktif/pasif durumuZorunlu: "TwoFactorEnabled is required."
EmailConfirmedbooleanEvetE-posta onay durumuZorunlu: "EmailConfirmed is required."

İstek Örneği

PUT /api/offline/users/4c31d679-b285-4040-9b57-5ce49e9f604c
Authorization: Bearer {token}
Content-Type: application/json
{
"UserName": "updated-user",
"Email": "updated-user@acme.local",
"FullName": "Updated User",
"NeedPasswordChange": true,
"TwoFactorEnabled": true,
"EmailConfirmed": false
}

Yanıt Formatı

Başarılı Yanıt

HTTP Durumu: 204 No Content

Başarılı güncellemede 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
}

Doğrulama hatalarında Response alanı detayları içerir:

{
"Status": false,
"Code": "Validation.General",
"Message": "One or more validation errors occurred",
"Response": [
{
"Field": "FieldName",
"Message": "Error message description"
}
]
}

HTTP Durum Kodları

DurumAçıklama
204 No ContentKullanıcı başarıyla güncellendi
400 Bad Requestİstek doğrulama hatası
401 UnauthorizedEksik, geçersiz veya süresi dolmuş token
403 ForbiddenYetersiz yetki, geçersiz rol/scope veya erişim kısıtı
404 Not FoundBelirtilen kullanıcı mevcut değil
409 ConflictDuplicate email veya kullanıcı adı
500 Internal Server ErrorBeklenmeyen business hatası

Hata Kodları Referansı

KodHTTP DurumuMesaj
Validation.General400One or more validation errors occurred
OfflineUsers.NotAccessible403User ‘{id}’ is not accessible within the current scope.
OfflineUsers.InsuranceCompanyNotFound403No valid insurance company assignment found in token.
OfflineUsers.AgentNotFound403No valid agent assignment found for agent user.
OfflineUsers.AgentOrCompanyRoleRequired403Only agent or company users are authorized for this endpoint.
OfflineUsers.UserNotFound404The requested user ‘{id}’ does not exist.
OfflineUsers.DuplicateEmail409Email ‘{email}’ already exists.
OfflineUsers.DuplicateUserName409UserName ‘{userName}’ already exists.
OfflineUsers.UpdateFailed500User ‘{id}’ could not be updated due to a 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. İstek Doğrulama — Tüm zorunlu alanlar ve doğrulama kuralları kontrol edilir; ihlal varsa 400 döner.

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

  5. Hedef Kullanıcı Erişim Kontrolü — Company scope için ve agent scope kullanıcı için erişim kontrolü sağlanır; yoksa OfflineUsers.NotAccessible ile 403 döner.

  6. Duplicate Kontrolleri — Email ve UserName için tekillik kontrolü yapılır; çakışma varsa 409 döner.

  7. Kullanıcı Güncelleme — Business katmanında gerekli işlemler yapılır.

  8. Sonuç — Başarıyla güncellenirse 204 No Content döner. Business katmanından NotFoundException alınırsa OfflineUsers.UserNotFound koduyla 404, BusinessRuleException alınırsa OfflineUsers.UpdateFailed koduyla 500 döner.


Notlar

  • Identity Scope: Güncelleme işlemi, 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.

  • Duplicate Kontrolleri: Email ve UserName tekilliği sistem genelinde kontrol edilir. Güncelleme sırasında bu alanların başka bir kullanıcıda kullanılmadığından emin olun.

  • Şifre Güncellemesi: Bu endpoint şifre güncellemesi yapmaz. NeedPasswordChange: true gönderilirse yalnızca kullanıcıya sonraki girişte şifresini değiştirmesi zorunluluğu tanımlanır.

  • Bulunamayan Kullanıcı: Route’ta belirtilen id’ye karşılık bir kullanıcı yoksa OfflineUsers.UserNotFound koduyla 404 Not Found döner.


Authentication

AuthorizationBearer

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

Path parameters

userIdstringRequired
Unique identifier of the target user

Request

This endpoint expects an object.

Response

No Content

Errors

400
Bad Request Error
403
Forbidden Error
409
Conflict Error