Skip to navigation

Service Availability Subscriptions By Agent

Service Availability Subscriptions By Agent

Acentenin statü değişikliği bildirimlerine abone olduğu servis durumu kayıtlarını sayfalı döndürür. Service Availabilities By Agent listesinin Subscribed = true olan alt kümesidir.

Uç Nokta (Endpoint)

GET {{baseUrl}}/api/ServiceAvailabilities/agents/:agentId/subscriptions


Kullanım

Bu servis, bir acentenin hangi servis operasyonları için ServiceStatusChange bildirimi alacağını görmek için kullanılır. Önerilen akış:

  1. Authentication Login servisinden token alınır.
  2. Bu servis ilgili agentId ile çağrılır ve page değeri HasNextPage false olana kadar artırılır.
  3. Dönen kayıtlar, bildirim beklenen servis operasyonları olarak kendi tarafınızda işaretlenir.

Abonelik servis operasyonu bazındadır: acente bir operasyona abone olduğunda, yetkili olduğu her şirket ve üründeki o operasyonun kaydı bu listede yer alır. Acenteye yeni bir ürün tanımlandığında abonelik değişmeden o ürünün kayıtları da listeye girer. Outsource operasyonlarında abonelik süreç bazındadır; her süreç ayrı bir abonelik kaydıdır.

Kapsam, sıralama, sayfalama ve yetki kuralları Service Availabilities By Agent servisiyle aynıdır.

💡 Hiç aboneliği olmayan acentede Items boş, TotalCount sıfır döner; bu bir hata değildir.

⚠️ Abonelik tanımları şu an InsurGateway tarafından yapılır; bu servis yalnızca okuma sağlar.


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 <token> biçiminde erişim token’ı.

Token’ın Read yetkisini taşıması gerekir.


İstek Parametreleri (Path Variables)

ParametreTürZorunluMinMaxAçıklama
:agentIdinteger (int32)✅12147483647Abonelikleri istenen acentenin kimliği.

İstek Parametreleri (Query Parameters)

ParametreTürZorunluMinMaxAçıklama
pageinteger (int32)—121474836471 tabanlı sayfa numarası. Varsayılan 1.
pageSizeinteger (int32)—1200Sayfa başına kayıt sayısı. Varsayılan ve üst sınır 200; aralık dışı değerler 400 döner.

Örnek İstek:

GET {{baseUrl}}/api/ServiceAvailabilities/agents/1/subscriptions
Authorization: Bearer <token>

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

AlanTürAçıklama
TotalCountintegerToplam kayıt sayısı (tüm sayfalar).
PageintegerDönen sayfa numarası (1 tabanlı).
SizeintegerUygulanan sayfa boyutu.
TotalPageintegerToplam sayfa sayısı.
HasNextPagebooleanSonraki sayfanın olup olmadığı.
HasPreviousPagebooleanÖnceki sayfanın olup olmadığı.
Itemsarrayİstenen sayfanın kayıtları.

Items nesnesi:

AlanTürAçıklama
InsuranceCompanyIdintegerKaydın sigorta şirketi kimliği.
ProductIdinteger | nullKaydın ürün kimliği. Ürün bağımsız operasyonlarda null.
ServiceOperationIdintegerKaydın servis operasyonu kimliği.
OutsourceProcessIdinteger | nullKaydın outsource süreci kimliği. Outsource olmayan operasyonlarda null; aynı operasyon farklı süreçler için ayrı kayıt üretir.
InsuranceCompanyNamestringSigorta şirketi adı.
ProductNamestringÜrün adı. Ürün bağımsız operasyonlarda Tüm Ürünler.
ServiceNamestringOperasyonun ait olduğu servis adı.
ServiceOperationNamestringServis operasyonu adı.
OutsourceProcessNamestring | nullOutsource süreci adı. Outsource olmayan operasyonlarda null.
ExcludedProductIdsarrayÜrün bağımsız operasyonun kapsamı dışında bırakılan ürün kimlikleri. Ürünlü kayıtlarda boş dizi.
StatusstringGüncel statü: Active, AutoDisabled, ManualDisabled ya da Unknown.
StatusReasonstring | nullSon statü değişikliğinin gerekçesi. Hiç değişiklik olmadıysa null.
StatusChangedAtdatetime | nullSon statü değişikliğinin zamanı. Hiç değişiklik olmadıysa null.
LastSuccessDatedatetime | nullGözlemlenen son başarılı işlemin zamanı. Henüz gözlem yoksa null.
SubscribedbooleanBu serviste her zaman true.

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

{
"TotalCount": 17,
"Page": 1,
"Size": 200,
"TotalPage": 1,
"HasNextPage": false,
"HasPreviousPage": false,
"Items": [
{
"InsuranceCompanyId": 12,
"ProductId": 27,
"ServiceOperationId": 118,
"OutsourceProcessId": null,
"InsuranceCompanyName": "Örnek Sigorta",
"ProductName": "Kasko",
"ServiceName": "ProposalService",
"ServiceOperationName": "Teklif",
"OutsourceProcessName": null,
"ExcludedProductIds": [],
"Status": "Active",
"StatusReason": null,
"StatusChangedAt": null,
"LastSuccessDate": "2026-08-10T09:31:07.44+03:00",
"Subscribed": true
}
]
}

Hatalı Yanıt (400 Bad Request)

Hatalar ApiResponse zarfıyla döner:

AlanTürAçıklama
StatusbooleanHatalarda her zaman false.
CodestringHata kodu. Sayfalama doğrulamalarında Validation.General.
MessagestringHata açıklaması.
Responsearray | nullDoğrulama hatalarında { Field, Message } listesi; diğer hatalarda null.

Sayfalama doğrulama hatası — page 1’den küçük ya da pageSize 1–200 aralığı dışında olduğunda:

FieldMessage
PagePage must be greater than or equal to 1.
PageSizePageSize must be between 1 and 200.
{
"Status": false,
"Code": "Validation.General",
"Message": "One or more validation errors occurred",
"Response": [
{
"Field": "PageSize",
"Message": "PageSize must be between 1 and 200."
}
]
}

Geçersiz acente kimliği — agentId sıfır ya da negatif gönderildiğinde:

{
"Status": false,
"Code": "ServiceAvailability.InvalidAgentId",
"Message": "Invalid agentId. AgentId must be greater than zero.",
"Response": null
}

Hatalı Yanıt (401 Unauthorized)

Token gönderilmediğinde, geçersiz olduğunda veya süresi dolduğunda HTTP 401 Unauthorized döner. Yanıt gövdesi boştur.

💡 Token’ın süresi dolduysa yanıtta Token-Expired: true başlığı bulunur. Bu durumda POST /api/authentication/refreshtoken ile yeni token alınmalıdır.


Hatalı Yanıt (403 Forbidden)

Acente kapsamlı bir kullanıcı (token’ında acente taşıyan entegrasyon kullanıcısı), token’ında yer almayan bir acenteyi sorguladığında döner.

{
"Status": false,
"Code": "ServiceAvailability.AgentNotPermitted",
"Message": "The authenticated user is not authorized for agent 999999.",
"Response": null
}

Authentication

AuthorizationBearer

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

Path parameters

agentIdintegerRequired

Abonelikleri istenen acentenin kimliği.

Headers

AuthorizationstringOptional

Query parameters

pageintegerOptional

1 tabanlı sayfa numarası.

pageSizeintegerOptional

Sayfa başına kayıt sayısı.

Response headers

Content-TypestringOptional

Response

OK

Errors

400
Bad Request Error
403
Forbidden Error