Skip to navigation

Get Job Action By Id

Get Job Action By Id

Belirtilen işe ait tek bir aksiyon kaydını, aksiyonun kimliğine (jobActionId) göre döner.


Uç Nokta (Endpoint)

GET {{baseUrl}}/api/offline/jobs/{jobId}/actions/{jobActionId}


Kullanım

Get Job Actions listesinden seçilen bir aksiyonun tekil kaydını okumak için kullanılır. Ö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. Listeden ilgilenilen kaydın Id değeri okunur.

  4. Bu değer jobActionId olarak bu servise gönderilir.

⚠️ jobActionId aynı iş içinde aranır. Var olan ama başka bir işe ait bir aksiyon kimliği gönderildiğinde servis OfflineAction.ActionNotFound ile 404 döner.

💡 Bu servis tekil kaydı Platform mesaj servisinden zenginleştirmez. Message ve Attachments alanları her zaman boş döner; mesaj içeriği gerekiyorsa Get Job Actions listesindeki kayıt kullanılmalıdır.


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✅Aksiyonun bağlı olduğu iş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.
jobActionIdinteger✅İstenen aksiyonun 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.

Bu uç nokta sorgu (query) parametresi almaz.

Örnek İstek:

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

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

Yanıt gövdesi tek bir JobActionDTO nesnesidir.

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

AlanTürAçıklama
IdlongAksiyonun benzersiz kimliği.
JobIdintegerAksiyonun bağlı olduğu işin kimliği.
AgentIdintegerAksiyonun ilişkili olduğu acentenin kimliği.
CreateDatedatetimeAksiyonun oluşturulma tarihi (yyyy-MM-ddTHH:mm:ss).
Messagestringnull
ToFullNamestringnull
FromFullNamestringnull
MessageFromintegerGönderen taraf. MessageSentBy değeri.
MessageTointegerAlıcı taraf. MessageSentBy değeri. Alıcı kullanıcı tanımlı değilse -1 (Tanımsız) döner.
AttachmentsarrayBu uç noktada doldurulmaz; daima boş dizi döner.
PlatformProposalIdstringnull
ActionTypeintegerAksiyonun stage’i. Stage değeri — tam liste için bknz.

MessageFrom / MessageTo değerleri (MessageSentBy):

DeğerAdAçıklama
-1UndefinedTaraf çözümlenemedi (ör. alıcı kullanıcı atanmamış).
0InsuranceCompanySigorta şirketi kullanıcısı.
1PlatformPlatform (acente) tarafı.

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

{
"Id": 1234,
"JobId": 100931,
"AgentId": 42,
"CreateDate": "2026-05-13T10:30:00",
"Message": null,
"ToFullName": "Ahmet Yılmaz",
"FromFullName": "InsurCo API User",
"MessageFrom": 0,
"MessageTo": 1,
"Attachments": [],
"PlatformProposalId": "PROP-001",
"ActionType": 2
}

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": "JobActionId", "Message": "JobActionId must be greater than 0." }
]
}
AlanTürAçıklama
StatusbooleanHatalı yanıtlarda daima false.
CodestringHata kodu (Validation.General, OfflineAction.ActionNotFound …).
MessagestringHatanın açıklaması.
Responsearraynull

Olası doğrulama mesajları:

AlanMesaj
JobIdJobId must be greater than 0.
JobActionIdJobActionId must be greater than 0.

⚠️ 400 yanıtı üç farklı gövde biçiminde gelebilir: (1) yukarıdaki JSON zarfı — iş kuralı doğrulaması; (2) düz metin — 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.ActionNotFoundJob action with id {jobActionId} not found.İş erişilebilir, ancak bu iş içinde verilen kimlikte aksiyon yok.
{
"Status": false,
"Code": "OfflineAction.ActionNotFound",
"Message": "Job action with id 999999 not found.",
"Response": null
}https://docs.insurgateway.com/offline-constants#offline-stage-action

Authentication

AuthorizationBearer

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

Path parameters

jobIdintegerRequired
jobActionIdintegerRequired

Headers

AuthorizationstringOptional

Response headers

Content-TypestringOptional

Response

OK

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error