RequestDetails

## İstek Detaylarını Getir InsurGateway API üzerinden girilen jobId'ye göre isteklerin detaylarını getirir. ### Endpoint `GET /api/offline/jobs/{jobId}/request-details` ### Kimlik Doğrulama Bu istek, üst koleksiyondan miras alınan **Bearer Token** kimlik doğrulamasını kullanır. Token, `{{authToken}}` ortam değişkeninden çözümlenir. Token'ın aşağıdaki rollerden en az birine ve `Read` yetkisine sahip olması gerekir: | Rol | Açıklama | | --- | --- | | `InsuranceCompanyAPIUser` | Sigorta şirketi API kullanıcısı | | `InsuranceCompanyAPIAdmin` | Sigorta şirketi API yöneticisi | | `Supervizor` | Süpervizör | İş kaydının sigorta şirketi, token içindeki sigorta şirketi kimliklerinden biriyle eşleşmelidir. Token `0` değerini içeriyorsa (Tüm Sigorta Şirketleri) tüm işlere erişilebilir. ## **Sorgu Parametresi** | Parametre | Tip | Zorunlu | Açıklama | | --- | --- | --- | --- | | `jobId` | integer | ✅ | Detayları getirilecek iş kaydının benzersiz kimliği. `1` veya daha büyük olmalıdır. | ### Örnek İstek ``` GET https://gatewayapi.insurapps.net/api/offline/jobs/211178/request-details ``` ### Yanıt Yapısı #### Başarılı Yanıt (200 OK) > **Sayfadaki mevcut uzun örnek JSON aynen korunur.** Yalnızca iki satır eklenir: `Groups` dizisinden sonra `"OldAndNewData": null` ve `"Success": true` satırından sonra `"ErrorExplanation": null`. Bu iki alan API tarafından her yanıtta döner ancak mevcut örnekte yer almıyor. ``` json { "JobId": 211178, "InsuranceCompanyId": 93, "Groups": [ /* mevcut örnekteki içerik değişmedi */ ], "OldAndNewData": null, "InsuranceCompanyKeyGroups": [ /* mevcut örnekteki içerik değişmedi */ ], "Success": true, "ErrorExplanation": null, "Elapsed": 3759 } ``` | Alan | Tip | Açıklama | | --- | --- | --- | | `JobId` | integer | İş Id'si | | `InsuranceCompanyId` | integer | Sigorta Şirketi Id'si | | `Groups` | List | İstek detaylarını gruplanmış olarak içeren liste | | `OldAndNewData` | List | Zeyil gibi değişiklik içeren işlerde eski/yeni bilgi karşılaştırması. İlgili değilse `null` döner. | | `InsuranceCompanyKeyGroups` | List | İşin sigorta şirketine ait key gösterim/sıralama ayarları. Ekranda hangi key'in hangi grupta ve hangi sırada gösterileceğini belirler. | | `Success` | boolean | Platform servisinden veri okuma işleminin sonucu. **HTTP 200 dönse dahi bu alan** **`false`** **olabilir**, bkz. _Kısmi Başarısız Yanıt_. | | `ErrorExplanation` | string | `Success` `false` olduğunda platform servisinin döndürdüğü hata açıklaması. Başarılı durumda `null`. | | `Elapsed` | integer | Platform servisine yapılan çağrının süresi (milisaniye). API'nin toplam yanıt süresi değildir. | ##### `Groups[]` — KeyGroup | Alan | Tip | Açıklama | | --- | --- | --- | | `GroupName` | string | Grup adı (`Teklif`, `TeknikKisi` vb.) | | `Keys` | List | Gruba ait key listesi | ##### `Groups[].Keys[]` — Key | Alan | Tip | Açıklama | | --- | --- | --- | | `Id` | integer | Gateway key Id'si. Eşleşen bir key tanımı yoksa `0` dönebilir. | | `KeyName` | string | Key'in okunabilir adı | | `KeyValue` | string\[\] | Key'e ait değer listesi. Tek değerli key'lerde de dizi olarak döner, birden fazla eleman içerebilir. | ##### `OldAndNewData[]` | Alan | Tip | Açıklama | | --- | --- | --- | | `OldHeader` | string | Eski bilginin başlığı | | `OldKeys` | List | Eski key listesi (`Groups[].Keys[]` ile aynı yapı) | | `NewHeader` | string | Yeni bilginin başlığı | | `NewKeys` | List | Yeni key listesi (`Groups[].Keys[]` ile aynı yapı) | ##### `InsuranceCompanyKeyGroups[]` | Alan | Tip | Açıklama | | --- | --- | --- | | `GroupId` | integer | Key grup Id'si | | `Title` | string | Grup başlığı | | `OrderNo` | integer | Grubun gösterim sırası | | `InsuranceCompanyId` | integer | Ayarın ait olduğu sigorta şirketi. `0` değeri "Tüm Sigorta Şirketleri" anlamına gelir. | | `InsuranceCompanyKeySettings` | List | Gruba ait key ayarları | ##### `InsuranceCompanyKeyGroups[].InsuranceCompanyKeySettings[]` | Alan | Tip | Açıklama | | --- | --- | --- | | `SettingId` | integer | Ayar kaydının Id'si | | `GroupId` | integer | Bağlı olduğu key grubunun Id'si | | `KeyId` | integer | Key Id'si. Tanımsız olabilir (`null`). | | `KeyName` | string | Key adı | | `OrderNo` | integer | Key'in grup içindeki gösterim sırası | #### Kısmi Başarısız Yanıt (200 OK, `Success: false`) Platform servisine erişilir ancak servis hata döndürürse istek **HTTP 200** ile sonuçlanır; hata bilgisi gövdedeki `Success` ve `ErrorExplanation` alanlarında taşınır. Bu durumda `Groups` boş veya eksik olabilir. > İstemcilerin yalnızca HTTP durum koduna değil, gövdedeki `Success` alanına da bakması gerekir. ``` json { "JobId": 211178, "InsuranceCompanyId": 93, "Groups": [], "OldAndNewData": null, "InsuranceCompanyKeyGroups": [], "Success": false, "ErrorExplanation": "Platform servisinden dönen hata açıklaması", "Elapsed": 1204 } ``` > İşin acentesi için tanımlı bir platform servisi çözümlenemezse yanıt gövdesi `null` olarak döner (HTTP 200). #### Hata Yanıt Formatı `401` dışındaki tüm hatalar aşağıdaki ortak gövde ile döner: ``` json { "Status": false, "Code": "ErrorCode", "Message": "Error description", "Response": null } ``` Doğrulama hatalarında `Response` alanı alan bazlı hata listesi içerir. #### Doğrulama Hatası (400 Bad Request) `jobId` değeri `1`'den küçük gönderildiğinde döner. ``` json { "Status": false, "Code": "Validation.General", "Message": "One or more validation errors occurred", "Response": [ { "Field": "JobId", "Message": "JobId must be greater than or equal to 1." } ] } ``` > `jobId` sayısal olmayan bir değerle gönderilirse (`/api/offline/jobs/abc/request-details`) route eşleşmez ve `404 Not Found` döner. #### Yetkilendirme Hataları | Durum Kodu | Açıklama | | --- | --- | | `401 Unauthorized` | Token geçersiz veya süresi dolmuş. Body dönmez. | | `403 Forbidden` | Kullanıcının token'ında insurance company için gerekli yetki yok. | Token geçerli ancak gerekli rol ya da `Read` yetkisi yoksa `403 Forbidden` gövdesiz döner. Token geçerli ve rol uygun, fakat token içinde hiç sigorta şirketi ataması yoksa aşağıdaki gövde ile `403 Forbidden` döner: ``` json { "Status": false, "Code": "OfflineJobs.InsuranceCompanyNotFound", "Message": "No valid insurance company assignment found in token.", "Response": null } ``` #### İş Bulunamadı (404 Not Found) ``` json { "Status": false, "Code": "RequestDetail.NotFound", "Message": "Job with ID 999999 not found.", "Response": null } ``` > Bu hata hem iş kaydı hiç yokken hem de iş kaydı token'daki sigorta şirketlerine ait değilken döner. Başka bir şirkete ait işin varlığı bilgisi sızdırılmaz. #### Sunucu Hatası (500 Internal Server Error) Platform servisi çağrısı sırasında beklenmeyen bir hata oluştuğunda döner. ``` json { "Status": false, "Code": "RequestDetail.Failure", "Message": "Request detail okunurken hata: {hata mesajı}", "Response": null } ``` #### Hata Kodları Referansı | Kod | HTTP Durumu | Mesaj | | --- | --- | --- | | `Validation.General` | `400` | One or more validation errors occurred | | `OfflineJobs.InsuranceCompanyNotFound` | `403` | No valid insurance company assignment found in token. | | `RequestDetail.NotFound` | `404` | Job with ID {jobId} not found. | | `RequestDetail.Failure` | `500` | Request detail okunurken hata: {hata mesajı} | #### HTTP Durum Kodları | Durum | Açıklama | | --- | --- | | `200 OK` | İstek detayları döndürüldü. Gövdedeki `Success` alanı ayrıca kontrol edilmelidir. | | `400 Bad Request` | Doğrulama hatası (`jobId` < 1) | | `401 Unauthorized` | Eksik, geçersiz veya süresi dolmuş token. Body dönmez. | | `403 Forbidden` | Yetersiz rol/yetki veya token'da sigorta şirketi ataması yok | | `404 Not Found` | İş bulunamadı veya iş token'daki sigorta şirketlerine ait değil | | `500 Internal Server Error` | Platform servisi çağrısında beklenmeyen hata |

Authentication

AuthorizationBearer

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

Path parameters

jobIdintegerRequired

Response headers

Content-TypestringOptional

Response

OK

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error