Skip to navigation

Revise Batch Premium

Toplu Teklifi Revize Et

Endpoint Bilgileri

AlanDeğer
MethodPUT
URL{{baseUrl}}/api/Offline/jobs/{jobId}/Premiums/revise-batch
Content-Typeapplication/json
YetkilendirmeBearer Token + Update politikası

Acentenin açtığı toplu teklif revize (indirim) talebine karşılık, sigorta şirketinin revize edilmiş toplu teklif primlerini kaydetmesi için kullanılır.

Başarılı istekte iş Toplu Teklif Revize Talebi Gerçekleşti (BatchPremiumRevised) aşamasına geçer, revize primler platform servisine yazılır, aksiyon kaydı oluşturulup platforma iletilir ve teklif PDF’leri asenkron olarak kaydedilir.

İşin aşaması Toplu Teklif Revize Talebi (BatchPremiumReviseRequested) olmalıdır; aksi halde geçiş reddedilir.


Route Parametreleri

ParametreTipZorunluAçıklama
jobIdintegerEvetRevize teklifin kaydedileceği işin Id bilgisi

Kimlik Doğrulama

Geçerli bir bearer token gerektirir. Token şunları içermelidir:

  • Tanınan bir rol (InsuranceCompanyAPIUser, InsuranceCompanyAPIAdmin veya Supervizor)
  • İlgili route için Update yetkisi
  • Geçerli bir sigorta şirketi ataması
  • Çözümlenebilir bir kullanıcı kimliği

InsuranceCompanyAPIUser yalnızca kendi sahibi olduğu işleri işleyebilir. InsuranceCompanyAPIAdmin ve Supervizor şirketin tüm işlerine erişebilir.


İstek Modeli — ReviseBatchPremiumRequest

AlanTipZorunluAçıklamaDoğrulama
ProductIdintegerEvetRevizenin uygulandığı ürün IdZorunlu: "Product ID is required."
0’dan büyük olmalı: "Product ID must be greater than 0."
MessagestringHayırRevizeye iliştirilen notMaks. 500 karakter: "Message cannot exceed 500 characters."
PremiumsBatchPremiumEntryRequest[]EvetRevize prim girişleriZorunlu: "Premium list is required."
Boş olamaz: "Premium list cannot be empty."
OfferPdfsPremiumFileRequest[]EvetRevize teklif PDF’leriZorunlu: "Offer PDF documents are required."
Boş olamaz: "At least one offer PDF document must be provided."

JobId gövdeden alınmaz ([JsonIgnore]); route parametresinden set edilir. 0’dan büyük olmalıdır: "JobId must be greater than 0."

Teklif PDF’i zorunluluğu hem doğrulama katmanında hem de state transition içinde kontrol edilir; doğrulama önce çalıştığı için eksik PDF 400 döner.

Prim Girişi — BatchPremiumEntryRequest

AlanTipZorunluAçıklamaDoğrulama
InsuranceCompanyProposalNumberstringHayırSigorta şirketi teklif numarası—
InsuranceCompanyPolicyNumberstringHayırSigorta şirketi poliçe numarası—
InsuranceCompanyEndorsementNumberstringHayırSigorta şirketi zeyil numarası—
RenewalNumberintegerHayırYenileme numarası—
GrossPremiumdecimalEvetBrüt prim0’dan büyük olmalı: "GrossPremium must be greater than 0."
NetPremiumdecimalEvetNet prim0’dan büyük olmalı: "NetPremium must be greater than 0."
CommisiondecimalEvetKomisyon (alan adı tek s ile yazılır)0’dan büyük veya eşit olmalı: "Commision must be greater than or equal to 0."
PaymentOptionTypeintegerEvetÖdeme tipiTanımlı bir değer olmalı: "A valid PaymentOptionType must be provided."
CurrencyTypeintegerEvetPara birimiTanımlı bir değer olmalı: "A valid CurrencyType must be provided."

Ödeme Tipi Değerleri

DeğerÖdeme Tipi
1Hesaptan
2Kredi Kartı
3Tümü

Para Birimi Değerleri

DeğerPara Birimi
1TL
2Dolar
3Euro
4İngiliz Sterlini
5Japon Yeni
6İsviçre Frangı
7İsveç Kronu

Teklif PDF’i — PremiumFileRequest

AlanTipZorunluAçıklamaDoğrulama
FileNamestringEvetDosya adıBoş olamaz: "FileName must not be empty."
.pdf ile bitmeli: "Only PDF files are allowed."
Base64ContentstringEvetBase64 kodlu dosya içeriğiBoş olamaz: "Base64Content must not be empty."
Geçerli base64 olmalı: "Base64Content must be a valid base64 encoded string."
İçerik geçerli bir PDF olmalı: "File content is not a valid PDF."
ContentTypestringHayırMIME türüDoğrulanmaz; kayıt sırasında application/pdf olarak set edilir

İş Kuralları

State geçişi sırasında sırasıyla aşağıdaki kontroller yapılır:

  1. İş Toplu Teklif Revize Talebi aşamasında olmalıdır.
  2. İşe ait teklif (Proposal) kaydı bulunmalıdır.
  3. Teklif + ürün için OperationWatch kaydı bulunmalıdır.
  4. Revize primler platform servisine yazılabilmelidir.
  5. Aksiyonu karşılayacak platform kullanıcısı bulunmalı ve aksiyon platforma iletilebilmelidir.

Geri alma davranışı: 4. kural başarısız olursa OperationWatch başarısız işaretlenir ve iş Toplu Teklif Revize Talebi aşamasına geri döndürülür.


Yanıt

204 No Content — Başarılı Yanıt

Gövde boştur.


Hata Senaryoları

400 Bad Request — Doğrulama Hatası

İstek modeli doğrulamadan geçemediğinde döner. Hatalı alanlar Response içinde listelenir.

{
"Status": false,
"Code": "Validation.General",
"Message": "One or more validation errors occurred",
"Response": [
{
"Field": "ProductId",
"Message": "Product ID is required."
},
{
"Field": "OfferPdfs",
"Message": "Offer PDF documents are required."
}
]
}

403 Forbidden — Geçerli Sigorta Şirketi Ataması Bulunamadı

Token’da geçerli bir sigorta şirketi ataması bulunmadığında döner.

{
"Status": false,
"Code": "OfflineUsers.InsuranceCompanyNotFound",
"Message": "No valid insurance company assignment found in token.",
"Response": null
}

403 Forbidden — Kullanıcı Kimliği Çözümlenemedi

Token’dan kullanıcı kimliği okunamadığında döner.

{
"Status": false,
"Code": "OfflineUsers.UserIdentityNotResolved",
"Message": "User identity could not be resolved from token.",
"Response": null
}

403 Forbidden — İşe Erişim Reddedildi

İş, çağıranın sahipliğinde değilse döner.

{
"Status": false,
"Code": "OfflineJobs.JobOwnershipDenied",
"Message": "You do not have permission to access this job.",
"Response": null
}

403 Forbidden — Rol veya Yetki Yetersiz

Kullanıcı tanınan rollerden birine sahip değilse ya da Update yetkisi yoksa döner. Gövde boştur.


401 Unauthorized — Token Yok veya Geçersiz

Token gönderilmediğinde, geçersiz olduğunda veya süresi dolduğunda döner. Gövde boştur.


404 Not Found — İş Bulunamadı

Belirtilen jobId ile bir iş bulunamadığında döner.

{
"Status": false,
"Code": "OfflineJobs.JobNotFound",
"Message": "No job found for the requested JobId: 100931.",
"Response": null
}

404 Not Found — Teklif Kaydı Bulunamadı

İşe ait teklif kaydı bulunamadığında döner.

{
"Status": false,
"Code": "JobState.ProposalNotFound",
"Message": "Proposal record not found for job 100931.",
"Response": null
}

404 Not Found — Operation Watch Kaydı Bulunamadı

Teklif + ürün için operasyon kaydı bulunamadığında döner.

{
"Status": false,
"Code": "JobState.OperationWatchNotFound",
"Message": "Operation Watch record not found for job 100931.",
"Response": null
}

500 Internal Server Error — Platform Servisi Hatası

Revize prim bilgileri platform servisine yazılamadığında döner.

{
"Status": false,
"Code": "JobState.PlatformServiceFailure",
"Message": "Failed to write premium information to the platform service. Platform returned: Prim bilgileri platform servisine yazdırılamadı! Servisten dönen hata: Timeout",
"Response": null
}

500 Internal Server Error — İş Kuralı İhlali

İş uygun aşamada değilse, aksiyonu karşılayacak kullanıcı bulunamazsa veya aksiyon platforma iletilemezse döner.

{
"Status": false,
"Code": "JobState.UnknownBusinessRule",
"Message": "An unknown business rule error occurred: 'Toplu Prim Verildi' aşamasından 'Toplu Teklif Revize Talebi Gerçekleşti' aşamasına geçiş yapılamaz.",
"Response": null
}

500 Internal Server Error — Beklenmeyen Hata

Geçiş sırasında iş kuralı dışında bir hata oluştuğunda döner.

{
"Status": false,
"Code": "JobState.TransitionError",
"Message": "An unexpected error occurred during job state transition.",
"Response": null
}

Authentication

AuthorizationBearer

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

Path parameters

jobIdintegerRequired

Request

This endpoint expects an object.

Response

No Content

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error