Giriş

Partner API, otomotiv parça fiyatları ve bakım paketleri için sorgulama hizmeti sunan REST API’dir.

Bu API ile entegre yazılımlar; parça kodu ve TSRB (araç marka/model) bilgisiyle tek parça fiyatı, alternatif parçalarla birlikte fiyat listesi ve belirli kilometre/yıl için bakım paketi listesini alabilir. Tüm endpoint’ler X-API-Key header ile kimlik doğrulama gerektirir.

Parça fiyat (tek parça)

Parça kodu ve TSRB ID ile tek parça fiyatı sorgulama.

POST /api/part/query

Request (Gönderim)

AlanTipZorunluAçıklama
productCodestringEvetParça kodu (örn: ABC123)
brandTsbIdintEvetAraç markası TSB ID
modelTsbIdintEvetAraç modeli TSB ID
carYearshort?HayırModel yılı (miktar hesabı için kullanılır)

Örnek istek

{
  "productCode": "ABC123",
  "brandTsbId": 100,
  "modelTsbId": 123,
  "carYear": 2020
}

Response (Yanıt)

AlanTipAçıklama
successboolİşlem başarılı mı
messagestringMesaj
dataobject?productCode, name, unit, quantity, unitPriceWithoutTax, localUnitPriceWithoutTax, totalPriceWithoutTax, localTotalPriceWithoutTax, currency, priceUpdatedAt, productId, hasApprovedOilMapping, approvedOilMappings

Örnek yanıt

{
  "success": true,
  "message": "",
  "data": {
    "productCode": "ABC123",
    "name": "Parça Adı",
    "unit": 1,
    "quantity": 1,
    "unitPriceWithoutTax": 150.50,
    "localUnitPriceWithoutTax": 150.50,
    "totalPriceWithoutTax": 150.50,
    "localTotalPriceWithoutTax": 150.50,
    "currency": "TL",
    "priceUpdatedAt": "2024-01-15T10:00:00",
    "productId": "...",
    "hasApprovedOilMapping": false,
    "approvedOilMappings": []
  }
}

Parça fiyat (alternatifler ile)

Ana parça ile birlikte alternatif parça fiyatlarını döner.

POST /api/part/query-with-alternatives

Request (Gönderim)

AlanTipZorunluAçıklama
productCodestringEvetParça kodu
brandTsbIdintEvetMarka TSB ID
modelTsbIdintEvetModel TSB ID
carYearshort?HayırModel yılı
subsidiaryManufacturerIdslong[]?HayırAlternatif marka ID listesi; boş/null ise tüm markalar

Örnek istek

{
  "productCode": "ABC123",
  "brandTsbId": 100,
  "modelTsbId": 123,
  "carYear": 2020,
  "subsidiaryManufacturerIds": [320, 450]
}

Response (Yanıt)

data içinde mainPart (ana parça) ve alternatives (alternatif parçalar). Her alternatif: subsidiaryCode, productName, manufacturerName, subsidiaryManufacturerName, unit, quantity, unitPriceWithoutTax, localUnitPriceWithoutTax, totalPriceWithoutTax, localTotalPriceWithoutTax, currency, priceUpdatedAt.

Örnek yanıt

{
  "success": true,
  "message": "",
  "data": {
    "mainPart": { "productCode": "...", "name": "...", "unit": 1, "quantity": 1, "unitPriceWithoutTax": 150.50, ... },
    "alternatives": [
      { "subsidiaryCode": "...", "productName": "...", "manufacturerName": "...", "unitPriceWithoutTax": 140, ... }
    ]
  }
}

Bakım paketi sorgulama

TSRB ID, model yılı ve kilometre ile bakım paketi listesi (parçalar ve alternatifler dahil).

POST /api/servicepack/query

Request (Gönderim)

AlanTipZorunluAçıklama
brandTsbIdintEvetAraç markası TSB ID
modelTsbIdintEvetAraç modeli TSB ID
yearshortEvetModel yılı (örn: 2020)
kmintEvetKilometre (örn: 15000, 30000)
subsidiaryManufacturerIdslong[]?HayırAlternatif parça marka ID listesi; boş/null ise tüm markalar

Örnek istek

{
  "brandTsbId": 123,
  "modelTsbId": 456,
  "year": 2020,
  "km": 15000,
  "subsidiaryManufacturerIds": [320, 450]
}

Response (Yanıt)

data: ServicePack listesi. Her öğede id, code, name, carModelName, carBrandName, carYear, km, products (parça listesi). Her parçada: productCode, productName, unit, quantity, unitPriceWithoutTax, localUnitPriceWithoutTax, totalPriceWithoutTax, localTotalPriceWithoutTax, currency, priceUpdatedAt, alternatives, hasApprovedOilMapping, approvedOilMappings.

Örnek yanıt

{
  "success": true,
  "message": "",
  "data": [
    {
      "id": 1,
      "code": "PKT001",
      "name": "15.000 km Bakım",
      "carModelName": "...",
      "carBrandName": "...",
      "carYear": 2020,
      "km": 15000,
      "products": [
        {
          "productCode": "...",
          "productName": "...",
          "unit": 1,
          "quantity": 1,
          "unitPriceWithoutTax": 100,
          "alternatives": []
        }
      ]
    }
  ]
}

Bakım paketleri (KM olmadan)

TSRB ID ve model yılına göre tüm KM değerlerindeki bakım paketlerini KM bazında gruplu döner.

POST /api/servicepack/query-all

Request (Gönderim)

AlanTipZorunluAçıklama
brandTsbIdintEvetAraç markası TSB ID
modelTsbIdintEvetAraç modeli TSB ID
yearshortEvetModel yılı (örn: 2020)
subsidiaryManufacturerIdslong[]?HayırAlternatif parça marka ID listesi; boş/null ise tüm markalar

Örnek istek

{
  "brandTsbId": 123,
  "modelTsbId": 456,
  "year": 2020,
  "subsidiaryManufacturerIds": [320, 450]
}

Response (Yanıt)

data: KM bazlı gruplar. Her grupta km ve bu KM için servicePacks listesi bulunur.

Örnek yanıt

{
  "success": true,
  "message": "2 adet KM grubu bulundu.",
  "data": [
    {
      "km": 15000,
      "servicePacks": [
        { "id": 1, "code": "PKT001", "name": "15.000 km Bakım", "products": [] }
      ]
    },
    {
      "km": 30000,
      "servicePacks": [
        { "id": 2, "code": "PKT002", "name": "30.000 km Bakım", "products": [] }
      ]
    }
  ]
}

Bakım periyodu hesaplama

Marka TSB ID, model TSB ID ve model yılına göre önerilen bakım periyodunu (km) döner.

POST /api/servicepack/maintenance-interval

Request (Gönderim)

AlanTipZorunluAçıklama
brandTsbIdintEvetAraç markası TSB ID
modelTsbIdintEvetAraç modeli TSB ID
yearshortEvetModel yılı (örn: 2020)

Örnek istek

{
  "brandTsbId": 123,
  "modelTsbId": 456,
  "year": 2020
}

Response (Yanıt)

data.intervalKm alanında önerilen bakım periyodu döner.

Örnek yanıt

{
  "success": true,
  "message": "",
  "data": {
    "intervalKm": 15000
  }
}