# Jobs GET https://gatewayapi.insurapps.net/api/offline/jobs ## Offline İşleri Getir InsurGateway API üzerinden offline işlerin sayfalanmış listesini getirir. ### Endpoint `GET /api/offline/jobs` ### 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. ### Sorgu Parametreleri Tüm sorgu parametreleri isteğe bağlıdır ve varsayılan değerlere sahiptir. Hiçbir parametre gönderilmezse varsayılan değerler kullanılır. | Parametre | Tip | Zorunlu | Varsayılan | Açıklama | | --- | --- | --- | --- | --- | | `page` | integer | Hayır | `1` | Getirilecek sayfa numarası (1'den başlar). Minimum değer: `1`. | | `pageSize` | integer | Hayır | `50` | Sayfa başına döndürülecek kayıt sayısı. Değer aralığı: `1` - `200`. | | `sortBy` | string | Hayır | `createDate` | Sonuçların sıralanacağı alan adı. | | `sortOrder` | string | Hayır | `desc` | Sonuçların sıralama yönü. Kabul edilen değerler: `asc`, `desc`. | | `createDate` | string (tarih) | Hayır | `DateTime.Today` | İşleri oluşturulma tarihine göre filtreler. Format: `YYYY-MM-DD` (örn. `2025-01-15`). Varsayılan olarak bugünün tarihi kullanılır. | ### Örnek İstek ``` GET https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13 ``` ### Yanıt Yapısı #### Başarılı Yanıt (200 OK) ``` json { "Status": true, "Message": "Success", "Response": { "TotalCount": 38, "Page": 1, "Size": 50, "TotalPage": 1, "HasNextPage": false, "HasPreviousPage": false, "Items": [ { "Id": 100001, "CurrentStage": 1, "JobStatus": 0, "ProductId": 10, "ProductBranchId": 3, "RejectReasonId": null, "LastJobActionType": 1, "CreateDate": "2025-03-01T10:00:00.0000000", "LastActionDate": "2025-03-01T10:00:00.0000000", "HasExistPolicyRequest": false, "OwnerId": null, "AgentName": null, "ProductBranchName": "Kasko", "PlatformProposalId": null }, { "Id": 100002, "CurrentStage": 2, "JobStatus": 1, "ProductId": 20, "ProductBranchId": 1, "RejectReasonId": null, "LastJobActionType": 2, "CreateDate": "2025-03-02T11:30:00.0000000", "LastActionDate": "2025-03-02T14:00:00.0000000", "HasExistPolicyRequest": true, "OwnerId": 5001, "AgentName": "Acme Sigorta Acentesi", "ProductBranchName": "Trafik", "PlatformProposalId": "PLT-0001" } ] } } ``` | Alan | Tip | Açıklama | | --- | --- | --- | | `Status` | boolean | İşlem durumu (`true` = başarılı). | | `Message` | string | Durum mesajı. | | `Response.TotalCount` | integer | Toplam kayıt sayısı. | | `Response.Page` | integer | Mevcut sayfa numarası. | | `Response.Size` | integer | Sayfa başına kayıt sayısı. | | `Response.TotalPage` | integer | Toplam sayfa sayısı. | | `Response.HasNextPage` | boolean | Sonraki sayfa var mı. | | `Response.HasPreviousPage` | boolean | Önceki sayfa var mı. | | `Response.Items` | array | İş kayıtlarının listesi. | **Items Dizisi:** | Alan | Tip | Açıklama | | --- | --- | --- | | `Id` | integer | İş kaydının benzersiz kimliği. | | `CurrentStage` | integer | İşin mevcut aşaması. | | `JobStatus` | integer | İş durumu kodu. | | `ProductId` | integer | Ürün kimliği. | | `ProductBranchId` | integer | Ürün branş kimliği. | | `RejectReasonId` | integer / null | Red nedeni kimliği. | | `LastJobActionType` | integer | Son iş aksiyon tipi. | | `CreateDate` | string (datetime) | Oluşturulma tarihi. | | `LastActionDate` | string (datetime) | Son işlem tarihi. | | `HasExistPolicyRequest` | boolean | Mevcut poliçe talebi var mı. | | `OwnerId` | integer / null | Sahip kimliği. | | `AgentName` | string / null | Acente adı. | | `ProductBranchName` | string | Ürün branş adı (örn. Trafik, KonutYangin). | | `PlatformProposalId` | integer / null | Platform teklif kimliği. | #### Validasyon Hatası (400 - Status: false) Geçersiz parametreler gönderildiğinde döner. Her hatalı alan için ayrı bir hata mesajı içerir. ``` json { "Status": false, "Message": "One or more validation errors occurred", "Response": [ { "Field": "Page", "Message": "Page must be greater than or equal to 1." }, { "Field": "PageSize", "Message": "PageSize must be between 1 and 200." }, { "Field": "SortBy", "Message": "sortBy is not a valid sort field." }, { "Field": "SortOrder", "Message": "sortOrder must be 'asc' or 'desc'." }, { "Field": "CreateDate", "Message": "createDate must be in 'yyyy-MM-dd' format (e.g. 2025-01-15)." } ] } ``` #### Şirket Ataması Hatası (403 - Status: false) Token'da geçerli bir sigorta şirketi ataması bulunamadığında döner. ``` json { "Status": false, "Message": "No valid insurance company assignment found in token.", "Response": null } ``` #### Yetkilendirme Hataları | Durum Kodu | Açıklama | | --- | --- | | `401 Unauthorized` | Token geçersiz veya süresi dolmuş. Body dönmez. | | `403 Forbidden` | Kullanıcının bu endpoint'e erişim yetkisi yok. Body dönmez. | ### Notlar - İstek göndermeden önce aktif ortamda geçerli bir `authToken` değişkeninin ayarlandığından emin olun. Token almak için **Authentication Login** isteğini kullanabilirsiniz. - Token süresi dolmuşsa, yeni bir token almak için **Refresh Token** isteğini kullanın. - Kullanıcının token'ında mutlaka bir sigorta şirketi ataması ve **InsuranceCompanyAPIAdmin** yetkisi bulunmalıdır. Reference: https://docs.insurgateway.com/offline-api/offline/jobs ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: collection version: 1.0.0 paths: /api/offline/jobs: get: operationId: jobs summary: Jobs description: >- ## Offline İşleri Getir InsurGateway API üzerinden offline işlerin sayfalanmış listesini getirir. ### Endpoint `GET /api/offline/jobs` ### 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. ### Sorgu Parametreleri Tüm sorgu parametreleri isteğe bağlıdır ve varsayılan değerlere sahiptir. Hiçbir parametre gönderilmezse varsayılan değerler kullanılır. | Parametre | Tip | Zorunlu | Varsayılan | Açıklama | | --- | --- | --- | --- | --- | | `page` | integer | Hayır | `1` | Getirilecek sayfa numarası (1'den başlar). Minimum değer: `1`. | | `pageSize` | integer | Hayır | `50` | Sayfa başına döndürülecek kayıt sayısı. Değer aralığı: `1` - `200`. | | `sortBy` | string | Hayır | `createDate` | Sonuçların sıralanacağı alan adı. | | `sortOrder` | string | Hayır | `desc` | Sonuçların sıralama yönü. Kabul edilen değerler: `asc`, `desc`. | | `createDate` | string (tarih) | Hayır | `DateTime.Today` | İşleri oluşturulma tarihine göre filtreler. Format: `YYYY-MM-DD` (örn. `2025-01-15`). Varsayılan olarak bugünün tarihi kullanılır. | ### Örnek İstek ``` GET https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13 ``` ### Yanıt Yapısı #### Başarılı Yanıt (200 OK) ``` json { "Status": true, "Message": "Success", "Response": { "TotalCount": 38, "Page": 1, "Size": 50, "TotalPage": 1, "HasNextPage": false, "HasPreviousPage": false, "Items": [ { "Id": 100001, "CurrentStage": 1, "JobStatus": 0, "ProductId": 10, "ProductBranchId": 3, "RejectReasonId": null, "LastJobActionType": 1, "CreateDate": "2025-03-01T10:00:00.0000000", "LastActionDate": "2025-03-01T10:00:00.0000000", "HasExistPolicyRequest": false, "OwnerId": null, "AgentName": null, "ProductBranchName": "Kasko", "PlatformProposalId": null }, { "Id": 100002, "CurrentStage": 2, "JobStatus": 1, "ProductId": 20, "ProductBranchId": 1, "RejectReasonId": null, "LastJobActionType": 2, "CreateDate": "2025-03-02T11:30:00.0000000", "LastActionDate": "2025-03-02T14:00:00.0000000", "HasExistPolicyRequest": true, "OwnerId": 5001, "AgentName": "Acme Sigorta Acentesi", "ProductBranchName": "Trafik", "PlatformProposalId": "PLT-0001" } ] } } ``` | Alan | Tip | Açıklama | | --- | --- | --- | | `Status` | boolean | İşlem durumu (`true` = başarılı). | | `Message` | string | Durum mesajı. | | `Response.TotalCount` | integer | Toplam kayıt sayısı. | | `Response.Page` | integer | Mevcut sayfa numarası. | | `Response.Size` | integer | Sayfa başına kayıt sayısı. | | `Response.TotalPage` | integer | Toplam sayfa sayısı. | | `Response.HasNextPage` | boolean | Sonraki sayfa var mı. | | `Response.HasPreviousPage` | boolean | Önceki sayfa var mı. | | `Response.Items` | array | İş kayıtlarının listesi. | **Items Dizisi:** | Alan | Tip | Açıklama | | --- | --- | --- | | `Id` | integer | İş kaydının benzersiz kimliği. | | `CurrentStage` | integer | İşin mevcut aşaması. | | `JobStatus` | integer | İş durumu kodu. | | `ProductId` | integer | Ürün kimliği. | | `ProductBranchId` | integer | Ürün branş kimliği. | | `RejectReasonId` | integer / null | Red nedeni kimliği. | | `LastJobActionType` | integer | Son iş aksiyon tipi. | | `CreateDate` | string (datetime) | Oluşturulma tarihi. | | `LastActionDate` | string (datetime) | Son işlem tarihi. | | `HasExistPolicyRequest` | boolean | Mevcut poliçe talebi var mı. | | `OwnerId` | integer / null | Sahip kimliği. | | `AgentName` | string / null | Acente adı. | | `ProductBranchName` | string | Ürün branş adı (örn. Trafik, KonutYangin). | | `PlatformProposalId` | integer / null | Platform teklif kimliği. | #### Validasyon Hatası (400 - Status: false) Geçersiz parametreler gönderildiğinde döner. Her hatalı alan için ayrı bir hata mesajı içerir. ``` json { "Status": false, "Message": "One or more validation errors occurred", "Response": [ { "Field": "Page", "Message": "Page must be greater than or equal to 1." }, { "Field": "PageSize", "Message": "PageSize must be between 1 and 200." }, { "Field": "SortBy", "Message": "sortBy is not a valid sort field." }, { "Field": "SortOrder", "Message": "sortOrder must be 'asc' or 'desc'." }, { "Field": "CreateDate", "Message": "createDate must be in 'yyyy-MM-dd' format (e.g. 2025-01-15)." } ] } ``` #### Şirket Ataması Hatası (403 - Status: false) Token'da geçerli bir sigorta şirketi ataması bulunamadığında döner. ``` json { "Status": false, "Message": "No valid insurance company assignment found in token.", "Response": null } ``` #### Yetkilendirme Hataları | Durum Kodu | Açıklama | | --- | --- | | `401 Unauthorized` | Token geçersiz veya süresi dolmuş. Body dönmez. | | `403 Forbidden` | Kullanıcının bu endpoint'e erişim yetkisi yok. Body dönmez. | ### Notlar - İstek göndermeden önce aktif ortamda geçerli bir `authToken` değişkeninin ayarlandığından emin olun. Token almak için **Authentication Login** isteğini kullanabilirsiniz. - Token süresi dolmuşsa, yeni bir token almak için **Refresh Token** isteğini kullanın. - Kullanıcının token'ında mutlaka bir sigorta şirketi ataması ve **InsuranceCompanyAPIAdmin** yetkisi bulunmalıdır. tags: - subpackage_offline parameters: - name: page in: query required: false schema: type: integer - name: pageSize in: query required: false schema: type: integer - name: sortBy in: query required: false schema: type: string - name: sortOrder in: query required: false schema: type: string - name: createDate in: query required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Offline_Jobs_Response_200' servers: - url: https://gatewayapi.insurapps.net components: schemas: Offline_Jobs_Response_200: type: object properties: {} description: Empty response body title: Offline_Jobs_Response_200 securitySchemes: bearerAuth: type: http scheme: bearer ``` ## SDK Code Examples ```python import requests url = "https://gatewayapi.insurapps.net/api/offline/jobs" querystring = {"page":"1","pageSize":"50","sortBy":"createDate","sortOrder":"desc","createDate":"2025-03-13"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://gatewayapi.insurapps.net/api/offline/jobs?page=1&pageSize=50&sortBy=createDate&sortOrder=desc&createDate=2025-03-13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```