Skip to navigation

Get Job Action By Stage

Get Job Action By Stage

Belirtilen iş üzerinde, verilen Stage değerine ait en son aksiyonun RequestDetails içeriğini döner; yani o adımın hangi alanlarla oluşturulduğunu gösterir.


Uç Nokta (Endpoint)

GET {{baseUrl}}/api/offline/jobs/{jobId}/actions/stage/{stageId}


Kullanım

Bir iş adımında (ör. teklif reddi, poliçe talebi) hangi alanların gönderildiğini okumak için kullanılır. Get Job Action By Id aksiyonun üst bilgisini, bu servis ise aksiyonun gönderilen alanlarını döner. Önerilen akış:

  1. Authentication Login servisinden token alınır.

  2. Get Job Actions çağrılarak işin aksiyon listesi alınır.

  3. İlgilenilen kaydın ActionType değeri okunur.

  4. Bu değer stageId olarak bu servise gönderilir ve RequestDetails listesi alınır.

⚠️ Aynı stage bir iş üzerinde birden fazla kez oluşabilir (ör. iki kez prim revize talebi). Bu servis her zaman en yüksek Id****‘ye sahip, yani en son aksiyonu döner. Belirli bir aksiyonun detayı gerekiyorsa aksiyon kimliğiyle çalışan bir uç nokta kullanılmalıdır.

💡 Dönen ActionId değeri, aynı kaydı Get Job Action By Id ile sorgulamak için doğrudan kullanılabilir.


Kimlik Doğrulama

Bu uç nokta geçerli bir JWT erişim token’ı gerektirir. Token, Authentication Login servisinden alınır ve Authorization başlığında gönderilir.

BaşlıkTürZorunluAçıklama
Authorizationstring✅Bearer biçiminde erişim token’ı.

Çağıranın aşağıdaki rollerden en az birine sahip olması gerekir:

RolErişim Kapsamı
InsuranceCompanyAPIUserYalnızca kendisine ait işlerin aksiyonlarına erişir.
InsuranceCompanyAPIAdminToken’daki sigorta şirketlerine ait tüm işlere erişir.
SupervizorToken’daki sigorta şirketlerine ait tüm işlere erişir.

⚠️ İş, her hâlükârda token’daki sigorta şirketi kapsamıyla sınırlıdır. Kapsam dışındaki bir jobId için servis 403 değil 404 Not Found döner.


İstek Parametreleri

Rota (Route) Parametreleri

ParametreTürZorunluAçıklama
jobIdinteger✅İşin kimliği. 0’dan büyük olmalıdır. Rotada int kısıtı vardır; sayısal olmayan bir değer 404 üretir.
stageIdinteger✅Aranan adımın Stage değeri. Tanımlı bir enum değeri olmalıdır. bknz.

Bu uç nokta sorgu (query) parametresi almaz.

⚠️ stageId rotasında int kısıtı yoktur. Sayısal olmayan bir değer (.../stage/abc) gönderildiğinde yanıt 404 değil, düz metin gövdeli bir 400 Bad Request olur.

Örnek İstek:

GET {{baseUrl}}/api/offline/jobs/100931/actions/stage/2
Authorization: Bearer <token>

Başarılı Yanıt (200 OK)

Yanıt gövdesi bir RequestDetailResponse nesnesidir.

⚠️ API Newtonsoft.Json DefaultContractResolver ile serileştirilir; alan adları C# property adlarıyla aynı, yani PascalCase döner (RequestDetails, ActionId …). camelCase bekleyen bir istemci alanları null görür.

AlanTürAçıklama
RequestDetailsarraynull
Stageintegerİstekte gönderilen stageId değeri.
JobIdintegerİşin kimliği.
ActionIdlongBulunan aksiyonun kimliği. Get Job Action By Id çağrısında kullanılabilir.

RequestDetails nesnesi (KeyPO):

AlanTürAçıklama
IdintegerAlanın (key) kimliği. OutSourceProcess Usages servisindeki KeyId ile aynı sözlüğe aittir.
KeyNamestringAlanın görünen adı.
KeyValuearraynull

⚠️ KeyValue bir dizidir, düz string değil. Tek değerli alanlarda dahi ["34ABC123"] biçiminde gelir.

Örnek Başarılı Yanıt:

{
"RequestDetails": [
{ "Id": 5, "KeyValue": ["34ABC123"], "KeyName": "Plaka" },
{ "Id": 1, "KeyValue": ["11111111111"], "KeyName": "Sigortalı TC Kimlik No" },
{ "Id": 38, "KeyValue": ["Hususi"], "KeyName": "Araç Kullanım Şekli" }
],
"Stage": 2,
"JobId": 100931,
"ActionId": 1234
}

Hatalı Yanıt (400 Bad Request)

Doğrulama hatalarında gövde standart hata zarfıdır ve Response alanı alan bazlı detayları taşır:

{
"Status": false,
"Code": "Validation.General",
"Message": "One or more validation errors occurred",
"Response": [
{ "Field": "StageId", "Message": "StageId is not a valid Stage value." }
]
}
AlanTürAçıklama
StatusbooleanHatalı yanıtlarda daima false.
CodestringHata kodu (Validation.General, OfflineAction.ActionNotFoundForStage …).
MessagestringHatanın açıklaması.
Responsearraynull

Olası doğrulama mesajları:

AlanMesaj
JobIdJobId must be greater than 0.
StageIdStageId is not a valid Stage value.

⚠️ 400 yanıtı üç farklı gövde biçiminde gelebilir: (1) yukarıdaki JSON zarfı — iş kuralı doğrulaması; (2) düz metin — stageId sayısal olmadığında model binding hatası; (3) düz metin (İşlem sırasında bir hata oluştu! RequestId: …) — beklenmeyen sunucu hatası [HandleException] filtresi tarafından 400’e çevrildiğinde. İstemcide gövdeyi JSON olarak ayrıştırmadan önce Content-Type kontrol edilmelidir.


Hatalı Yanıt (401 Unauthorized)

Token gönderilmediğinde, geçersiz olduğunda veya süresi dolduğunda 401 Unauthorized döner. Yanıt gövdesi boştur; bilgi WWW-Authenticate başlığındadır.

💡 Token’ın süresi dolduğunda yanıta Token-Expired: true başlığı eklenir. İstemci bu başlığı görürse Refresh Token servisiyle token’ı yenileyip isteği tekrarlamalıdır.


Hatalı Yanıt (403 Forbidden)

İki farklı nedenden dolayı oluşur:

1. Rol yetersizliği — çağıranın InsuranceCompanyAPIUser, InsuranceCompanyAPIAdmin veya Supervizor rollerinden hiçbiri yoksa. Gövde boştur.

2. Token/erişim kontrolü — gövde standart hata zarfıdır:

KodMesajNe zaman
OfflineUsers.InsuranceCompanyNotFoundNo valid insurance company assignment found in token.Token’da sigorta şirketi bilgisi yok.
OfflineUsers.UserIdentityNotResolvedUser identity could not be resolved from token.Token’dan kullanıcı kimliği çözümlenemedi.
OfflineJobs.JobOwnershipDeniedYou do not have permission to access this job.InsuranceCompanyAPIUser rolündeki kullanıcı, kendisine ait olmayan bir işi sorguladı.
{
"Status": false,
"Code": "OfflineJobs.JobOwnershipDenied",
"Message": "You do not have permission to access this job.",
"Response": null
}

Hatalı Yanıt (404 Not Found)

İki farklı durumda döner:

KodMesajNe zaman
OfflineJobs.JobNotFoundNo job found for the requested JobId: {jobId}.İş yok veya token’daki sigorta şirketi kapsamı dışında.
OfflineAction.ActionNotFoundForStageNo action found for stage id '{stageId}'.İş erişilebilir, ancak bu iş üzerinde o stage’e ait aksiyon hiç oluşmamış.
{
"Status": false,
"Code": "OfflineAction.ActionNotFoundForStage",
"Message": "No action found for stage id '33'.",
"Response": null
}

Authentication

AuthorizationBearer

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

Path parameters

jobIdstringRequired
stageIdstringRequired

Headers

AuthorizationstringOptional

Response headers

Content-TypestringOptional

Response

OK

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error