Change Waiting Information Stage

## Bilgi Bekleniyor Aşamasını Değiştir ### Endpoint Bilgileri | Alan | Değer | | --- | --- | | **Method** | `POST` | | **URL** | `{{baseUrl}}/api/Offline/jobs/{jobId}/WaitingInformation` | | **Content-Type** | `application/json` | | **Yetkilendirme** | Bearer Token + `Update` politikası | --- Bir işi bilgi bekleniyor aşamalarına alır veya bu aşamadan çıkarır. Üç geçişin tamamı tek endpoint üzerinden yapılır; hedef aşama `JobActionType` alanıyla seçilir. > Bu geçişler **her aşamadan** yapılabilir; kaynak aşama kısıtı yoktur. --- ### Hedef Aşamalar | `JobActionType` | Aşama | Anlamı | İş Durumu | | --- | --- | --- | --- | | `16` | `WaitingForInformationFromCompany` | Kurum İçi Bilgi Bekleniyor | `Paused` (duraklatılır) | | `17` | `WaitingForInformationFromAgent` | Kurum Dışı Bilgi Bekleniyor | `Paused` (duraklatılır) | | `18` | `WaitingForInfoCancel` | Bilgi Bekleniyor İptal | `InProcess` (devam eder) | --- ### Route Parametreleri | Parametre | Tip | Zorunlu | Açıklama | | --- | --- | --- | --- | | `jobId` | `integer` | Evet | Aşaması değiştirilecek 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şlerde aksiyon alabilir. `InsuranceCompanyAPIAdmin` ve `Supervizor` şirketin tüm işlerine erişebilir. --- ### İstek Modeli — `WaitingInformationRequest` | Alan | Tip | Zorunlu | Açıklama | Doğrulama | | --- | --- | --- | --- | --- | | `JobActionType` | `integer` | Evet | Hedef aşama (`16`, `17` veya `18`) | Tanımlı bir değer olmalı: `"JobActionType must be one of WaitingForInformationFromCompany, WaitingForInformationFromAgent or WaitingForInfoCancel."` | | `Message` | `string` | Koşullu | Durum notu | Maks. 1000 karakter: `"Message cannot exceed 1000 characters."` | > `JobId` gövdeden alınmaz; route parametresinden set edilir. 0'dan büyük olmalıdır: `"JobId must be greater than zero."` > > `Message` alanı, kısıtlı sigorta şirketleri için `17` (Kurum Dışı Bilgi Bekleniyor) geçişinde **zorunludur** — detay aşağıda. --- ### İş Kuralları State geçişi sırasında aşağıdaki kontroller yapılır: 1. Aksiyonu alan kullanıcı işin sahibi olmalıdır ya da şirket admini/supervizör olmalıdır. 2. `17` (Kurum Dışı Bilgi Bekleniyor) geçişinde, işin sigorta şirketi kısıtlı şirketler listesindeyse `Message` boş olamaz. > Kısıtlı şirketler listesi `portal` ayar grubundaki `restrict-waitingforinformationfromagent-null-msg` ayarından okunur; virgülle ayrılmış sigorta şirketi Id listesidir. Listede olmayan şirketler için `Message` opsiyoneldir. --- ### 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. ``` json { "Status": false, "Code": "Validation.General", "Message": "One or more validation errors occurred", "Response": [ { "Field": "JobActionType", "Message": "JobActionType must be one of WaitingForInformationFromCompany, WaitingForInformationFromAgent or WaitingForInfoCancel." } ] } ``` --- #### `403 Forbidden` — Geçerli Sigorta Şirketi Ataması Bulunamadı Token'da geçerli bir sigorta şirketi ataması bulunmadığında döner. ``` json { "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. ``` json { "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. ``` json { "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. ``` json { "Status": false, "Code": "OfflineJobs.JobNotFound", "Message": "No job found for the requested JobId: 100931.", "Response": null } ``` --- #### `409 Conflict` — Durum Notu Zorunlu Kısıtlı sigorta şirketleri için `17` geçişinde `Message` gönderilmediğinde döner. ``` json { "Status": false, "Code": "OfflineWaitingInformation.StateTransitionFailed", "Message": "Waiting-information stage transition failed: Kurum Dışı Bilgi Bekleniyor durumuna almak için 'Durum Notu' girilmesi gerekmektedir.", "Response": null } ``` --- #### `409 Conflict` — Aksiyon Yetkisi Yok Kullanıcı işin sahibi değilse ve şirket admini/supervizör de değilse döner. ``` json { "Status": false, "Code": "OfflineWaitingInformation.StateTransitionFailed", "Message": "Waiting-information stage transition failed: İstekte bulunulan (100931) numaralı iş için yalnızca 'İş Sahibi' veya 'Admin' kullanıcısı aksiyon alabilir!", "Response": null } ``` --- #### `500 Internal Server Error` — Beklenmeyen Hata Geçiş sırasında iş kuralı dışında bir hata oluştuğunda döner. ``` json { "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
409
Conflict Error
500
Internal Server Error