Files
sase.tr/apps/api/src
Semih Yesilyurt 1a209dd1fd
Some checks are pending
QA Gate (P0/P1) / Test affected app (pull_request) Waiting to run
feat(carcatonline): boş PL24 kataloglarının kategori ağacını gece carcatonline'dan doldur
pro.carcatonline.com (PartsLink24 aynası, pcat-benzeri API) yeni katalog kaynağı.
Hedef: source='pl24', architecture P5_MODERN ve hiç kategorisi olmayan
catalog_vehicles satırları (prod'da ~770). Sadece 20:00–07:00 Europe/Istanbul
penceresinde çalışır; hem tarama hem araç işi pencere dışında kendini pencere
başına erteler, pencere kapanınca tarama yarıda kesilir.

- integrations/carcatonline: istemci (login → /widget HTML'deki 6 aylık JWT →
  api.carcatonline.com Bearer; Redis'te paylaşılan token), marka→katalog +
  model eşleyici (birebir / bölge-yıl soyma / gövde kodu katmanları, ölçülen
  prod verisiyle test), kademeli varyant seçimi + tam ağaç tarayıcı, isim
  tekilleştirme (categories unique index'i), throttle (1 çağrı/2,2 s Redis
  slot, 429 → 40 dk kilit, günlük çağrı tavanı, gece penceresi).
- carcatonline-backfill kuyruğu: 30 dk'da bir `scan` (pencere içinde, kuyruk
  boşsa 20 araç), `vehicle` işi ağacı `carcatonline` kaynaklı categories
  satırları olarak yazar (link_path `carcat:<catalog>:<car>:<group>`),
  catalog_vehicles.metadata.carcatonline'a eşleme/varyant/sonuç kaydeder,
  ağaç cache'ini siler, isimleri LLM çeviri kuyruğuna verir (processor
  'carcatonline' kaynağını da geri-doldurur). Eşleşmeyen/hatalı araçlar 7 gün
  sonra tekrar denenir.
- CatalogService: carcatonline düğümleri PL24 drill'ine gönderilmez; yaprak
  açıldığında parçalar + plate görseli on-demand tek çağrıyla çekilir (aynı
  throttle/kilit/bütçe, parça adları translateMany ile Türkçe).
- Env: CARCATONLINE_ENABLED/EMAIL/PASSWORD/DAILY_CALL_CAP/WINDOW_START/
  WINDOW_END/MIN_INTERVAL_MS/LOCKOUT_SECONDS/SCAN_BATCH (compose api+worker).
  Legacy P4 mimarileri (Hyundai/Kia/Nissan/Opel/Ford) kapsam dışı: katalog
  sayfası onları önce PL24'ten okuyor.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-26 15:07:57 +03:00
..
…