Skip to navigation

Create User

Kullanıcı Oluştur

Offline kapsamda yeni bir kullanıcı kaydı oluşturur. Bu endpoint; sigorta şirketlerinin veya acentelerin kendi kapsamlarında API erişimi için yeni kullanıcılar tanımlamasına olanak tanır. İstek; doğrulama kontrolleri, kimlik kapsamı çözümlemesi (şirket/acente), e-posta ve kullanıcı adı tekillik kontrolü ardından kullanıcıyı oluşturur.


Endpoint Bilgisi

ÖzellikDeğer
HTTP MetoduPOST
URL/api/offline/users
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ında yeni kullanıcı oluşturabilir
SupervizorŞirket/acente kapsamında yeni kullanıcı oluşturabilir

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


İstek Modeli

AlanTipZorunluAçıklamaDoğrulama Kuralları
UserNamestringEvetKullanıcı adıBoş olamaz: "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 adresiBoş olamaz: "Email is required."
Geçerli e-posta formatı olmalı: "Email must be a valid email address."
PasswordstringEvetKullanıcı şifresiBoş olamaz: "Password is required."
Min. 8 karakter: "Password must be at least 8 characters."
Maks. 100 karakter: "Password must be less than or equal to 100 characters. Recommended length is 16 characters."
En az bir büyük harf: "Password must contain at least one uppercase letter (A-Z)."
En az bir küçük harf: "Password must contain at least one lowercase letter (a-z)."
En az bir rakam: "Password must contain at least one number (0-9)."
En az bir özel karakter: "Password must contain at least one non-alphanumeric character."
FullNamestringEvetKullanıcının tam adıBoş olamaz: "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."

Şifre Politikası: Şifre; en az bir büyük harf, bir küçük harf, bir rakam ve bir özel karakter içermelidir. Önerilen uzunluk 16 karakterdir.


İstek Örneği

POST /api/offline/users
Authorization: Bearer {token}
Content-Type: application/json
{
"UserName": "api-user-01",
"Email": "api-user-01@acme.local",
"Password": "StrongPass123!",
"FullName": "Api User"
}

Yanıt Formatı

Başarılı Yanıt

HTTP Durumu: 201 Created

Yanıt gövdesinde oluşturulan kullanıcının kimliği döner:

{
"Id": "3f4f95f8-0f6a-4763-86c9-5e6cf9dd8d7b"
}

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
201 CreatedKullanıcı başarıyla oluşturuldu
400 Bad Requestİstek doğrulama hatası
401 UnauthorizedEksik, geçersiz veya süresi dolmuş token
403 ForbiddenYetersiz yetki, geçersiz rol veya kapsam
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.DuplicateEmail409Email ‘{email}’ already exists.
OfflineUsers.DuplicateUserName409UserName ‘{userName}’ already exists.
OfflineUsers.InsuranceCompanyNotFound403No valid insurance company assignment found in token.
OfflineUsers.AgentNotFound403No valid agent assignment found in token.
OfflineUsers.AgentOrCompanyRoleRequired403Only agent or company users are authorized for this endpoint.
OfflineUsers.CreateFailed500User could not be created 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 — Create policy’si ve InsuranceCompanyAPIAdmin / Supervizor rolü kontrol edilir; yetersizse 403 döner.

  3. İstek Doğrulama — CreateUserRequestValidator ile alan bazlı kurallar uygulanır; ihlal varsa 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. Duplicate Kontrolleri — E-posta ve kullanıcı adı için tekillik kontrolü yapılır; çakışma varsa 409 döner.

  6. Kullanıcı Oluşturma — Business katmanında gerekli işlemler yapılır.

  7. Sonuç — Başarıyla oluşturulursa 201 Created ve { Id } döner. Business katmanından BusinessRuleException alınırsa OfflineUsers.CreateFailed koduyla 500 döner.


Notlar

  • Identity Scope: Oluşturulan kullanıcı, isteği yapan token sahibinin kapsamına (şirket veya acente) göre atanır. Company kullanıcıları kendi şirketlerine, agent kullanıcıları ise kendi acentelerine kullanıcı ekleyebilir.

  • Şifre Güvenliği: Şifreler sistemde hash’lenerek saklanır; düz metin olarak döndürülmez. İstekten sonra şifreyi güvenli bir şekilde ilgili kullanıcıya iletmek çağıranın sorumluluğundadır.

  • Kullanıcı Adı & E-posta: Her ikisi de sistem genelinde tekildir. Oluşturulduktan sonra aynı değerlerle yeni bir kullanıcı oluşturulamaz.


Authentication

AuthorizationBearer

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

Request

This endpoint expects an object.

Response headers

Content-TypestringOptional

Response

Created

Errors

400
Bad Request Error
403
Forbidden Error
409
Conflict Error