Skip to navigation

My Products

My Products

Token sahibinin yetkili olduğu ürünleri ürün kimliğine göre artan sıralı düz dizi olarak döndürür.

Uç Nokta (Endpoint)

GET {{baseUrl}}/api/Products/MyProducts


Kullanım

Bu servis, ürün kimliği bekleyen diğer servisler çağrılmadan önce geçerli productId değerlerini ve ürünlerin 3D ödeme özelliklerini öğrenmek için kullanılır. Önerilen akış:

  1. Authentication Login servisinden token alınır.
  2. Bu servis çağrılarak yetkili olunan ürünler alınır; tek bir acenteye daraltmak için agentId gönderilir.
  3. Dönen Id değeri diğer servislerde productId olarak kullanılır. InsuranceCompanyId, GET /api/InsuranceCompanies/MyInsuranceCompanies yanıtındaki Id ile eşleşir.

Servis sayfalanmaz; yetkili olunan tüm ürünler tek yanıtta gelir. Bir ürün token’daki birden fazla acenteye tanımlı olsa bile yanıtta tek kez yer alır.

Acente seçimi:

Token’daki rolagentId verilmediğindeagentId verildiğinde
PlatformUser / PlatformSystemUserToken’daki tüm acentelerin ürünleri. Token’da acente yoksa 400.Yalnızca o acentenin ürünleri. Acente token’da yoksa 400.
Diğer roller (ör. Supervizor)Token’da acente yoksa 400.Herhangi bir acente sorgulanabilir.

💡 Ürün kümesi yalnızca acente–ürün yetkileri değiştiğinde değişir; periyodik olarak çekip kendi tarafınızda saklayın.

⚠️ Yanıt kullanıcıya özeldir. Önbelleklenecekse kullanıcı (ve varsa agentId) bazında önbelleklenmelidir.

⚠️ Status = false dönen ürünler yetki listesinde kalır ancak işlem kabul etmez; kendi tarafınızda seçilebilir göstermeyin.

⚠️ Has3D = false iken Is3DRequired ve ThreeDPaymentType alanları anlamsızdır; ödeme akışını Has3D üzerinden kurgulayın.


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 (Query Parameters)

ParametreTürZorunluMinMaxAçıklama
agentIdinteger (int32)—12147483647Ürünleri istenen acentenin kimliği. Verilmezse token’daki tüm acenteler kullanılır.

Örnek İstek:

GET {{baseUrl}}/api/Products/MyProducts?agentId=1
Authorization: Bearer <token>

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

Ürün kimliğine göre artan sıralı düz dizi (array) döner.

AlanTürAçıklama
IdintegerÜrün kimliği. Diğer servislerde productId olarak bu değer gönderilir.
NamestringÜrün adı.
BranchIdinteger | nullÜrünün bağlı olduğu ürün branşı kimliği. Branşı tanımlanmamış ürünlerde null.
BranchNamestring | nullÜrün branşı adı (ör. Kasko, Trafik). BranchId boşsa null.
Categorystring | nullÜrünün branşı altındaki serbest metin kategori etiketi (ör. Kasko branşı için Markalı). Sabit bir değer kümesi yoktur; tanımlanmamış ürünlerde null.
InsuranceCompanyIdinteger | nullÜrünün ait olduğu sigorta şirketi kimliği.
StatusbooleanÜrünün InsurGateway tarafında aktif olup olmadığı.
Has3DbooleanÜrünün 3D Secure kart ödemesini destekleyip desteklemediği.
Is3DRequiredboolean3D Secure’un zorunlu olup olmadığı; yalnızca Has3D = true iken anlamlıdır. true ise ürün 3D’siz kredi kartı ödemesi kabul etmez.
ThreeDPaymentTypeinteger | null3D Secure ödemesinin yürütüldüğü yöntem: 1 = PaymentGateway (sigorta şirketinin ödeme geçidi), 2 = OTPTypeApprovement (tek kullanımlık şifre onayı). 3D ödemesi olmayan ürünlerde null.

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

[
{
"Id": 27,
"Name": "Kasko",
"BranchId": 3,
"BranchName": "Kasko",
"Category": "Markalı",
"InsuranceCompanyId": 11,
"Status": true,
"Has3D": true,
"Is3DRequired": true,
"ThreeDPaymentType": 1
},
{
"Id": 31,
"Name": "Trafik",
"BranchId": 4,
"BranchName": "Trafik",
"Category": null,
"InsuranceCompanyId": 11,
"Status": true,
"Has3D": true,
"Is3DRequired": false,
"ThreeDPaymentType": 2
},
{
"Id": 44,
"Name": "Konut",
"BranchId": null,
"BranchName": null,
"Category": null,
"InsuranceCompanyId": 2,
"Status": false,
"Has3D": false,
"Is3DRequired": false,
"ThreeDPaymentType": null
}
]

Hatalı Yanıt (400 Bad Request)

Düz metin gövdeyle döner.

MesajNe zaman oluşur
Acente id belirtilmeli!agentId sıfır ya da negatif gönderildi.
{agentId} numaralı acenteyi kullanmak için yetkiniz yoktur!Acente kapsamlı kullanıcı, token’ında yer almayan bir acenteyi sorguladı.
Kullanıcı için herhangi bir banka/acente yetkisi atanmamıştır!agentId verilmedi ve token’da hiç acente yok.

Örnek Hatalı Yanıt:

Acente id belirtilmeli!

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.

Authentication

AuthorizationBearer

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

Headers

AuthorizationstringOptional

Response headers

Content-TypestringOptional

Response

OK