feat: Miller Columns kategori seçici + JSON tree tabanlı mimari

Ne yaptık:
- Sahibinden.com tarzı Miller Columns kategori seçici (CategorySelector.jsx)
- Trendyol API'den 3971 kategori ağacı çekildi (Playwright ile)
- Backend: JSON tree tabanlı kategori endpoint'leri (/api/category-tree/*)
- Backend: Rapor oluşturma artık DB kategorilerine bağımlı değil
- Report tablosundaki category_id FK constraint kaldırıldı
- Dockerfile'a trendyol_category_tree.json eklendi

Neden yaptık:
- DB'deki kategori tablosu boştu, Trendyol API ID'leri ile Excel ID'leri farklıydı
- Playwright ile Trendyol'un kendi kategori ağacını çektik (3971 kategori, gerçek API ID'leri)
- Miller Columns ile kullanıcı adım adım derinleşerek kategori seçebiliyor
- Arama özelliği ile kelime bazlı kategori bulma da mümkün

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
furkanyigit34
2026-03-29 02:24:22 +03:00
parent 6aa4ec5eb0
commit 1c10a701cf
224 changed files with 3176073 additions and 2376775 deletions

View File

@@ -0,0 +1,678 @@
{
"category_id": 101456,
"path_model": "kadin-spor-sweatshirt-x-g1-c101456",
"category_name": "Sweatshirt",
"total_products": 24,
"scraped_at": "2026-03-28T15:05:42.869044",
"products": [
{
"id": 935160840,
"name": "Dar Kesim Örme Dik Yaka Fermuarlı Aktif Üst",
"brand": {
"name": "Hiccup"
},
"price": {
"old": 560.5,
"oldText": "560,50",
"currency": "TL",
"current": 546.64,
"currentText": "546,64",
"originalPrice": 560.5,
"originalPriceText": "560,50",
"discountedPrice": 546.64,
"discountedPriceText": "546,64",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.483412322274883,
"totalCount": 844
},
"url": "/hiccup/dar-kesim-orme-dik-yaka-fermuarli-aktif-ust-p-935160840?boutiqueId=61&merchantId=938209",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1822/prod/QC_ENRICHMENT/20260205/13/8a93a276-b3ad-3881-a0b7-a9c372400772/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 935161763,
"name": "Dar Kesim Örme Dik Yaka Fermuarlı Aktif Üst",
"brand": {
"name": "Hiccup"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 659,
"currentText": "659",
"originalPrice": 659,
"originalPriceText": "659",
"discountedPrice": 659,
"discountedPriceText": "659",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.327702702702703,
"totalCount": 296
},
"url": "/hiccup/dar-kesim-orme-dik-yaka-fermuarli-aktif-ust-p-935161763?boutiqueId=61&merchantId=938209",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1823/prod/QC_ENRICHMENT/20260205/13/bf1007e1-ff82-3170-87a4-446cdbed00af/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1103912399,
"name": "Chill Kadın Uzun Kollu Koşu Tişörtü Spor Sweatshirt Ekru",
"brand": {
"name": "Scorp"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 649,
"currentText": "649",
"originalPrice": 649,
"originalPriceText": "649",
"discountedPrice": 649,
"discountedPriceText": "649",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.5,
"totalCount": 2
},
"url": "/scorp/chill-kadin-uzun-kollu-kosu-tisortu-spor-sweatshirt-ekru-p-1103912399?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1826/prod/QC_ENRICHMENT/20260214/15/a20992fb-1ec1-35d9-825a-d4c8d987d45c/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 875878097,
"name": "Chill Kadın Spor Sweatshirt Tshirt Siyah",
"brand": {
"name": "Scorp"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 649,
"currentText": "649",
"originalPrice": 649,
"originalPriceText": "649",
"discountedPrice": 649,
"discountedPriceText": "649",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.771428571428571,
"totalCount": 35
},
"url": "/scorp/chill-kadin-spor-sweatshirt-tshirt-siyah-p-875878097?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1619/prod/QC/20241225/22/c5b7badd-d161-3067-9204-de05aabf61f2/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 52588732,
"name": "Kadın Uzun Kollu Koşu Tişörtü - Siyah - Warm",
"brand": {
"name": "Decathlon"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 920,
"currentText": "920",
"originalPrice": 920,
"originalPriceText": "920",
"discountedPrice": 920,
"discountedPriceText": "920",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.645333333333334,
"totalCount": 375
},
"url": "/decathlon/kadin-uzun-kollu-kosu-tisortu-siyah-warm-p-52588732?boutiqueId=61&merchantId=167526",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1576/prod/QC/20241002/14/d9f8f72d-8d06-3ac6-98d1-10080a7bf02b/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 960179279,
"name": "W Stadium Tt Kadın Spor Sweatshirt JL6886",
"brand": {
"name": "adidas"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 3999,
"currentText": "3.999",
"originalPrice": 3199.2,
"originalPriceText": "3.199,20",
"discountedPrice": 3199.2,
"discountedPriceText": "3.199,20",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 5,
"totalCount": 2
},
"url": "/adidas/w-stadium-tt-kadin-spor-sweatshirt-jl6886-p-960179279?boutiqueId=61&merchantId=401036",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1839/prod/QC_ENRICHMENT/20260316/13/5d832bb8-73e8-3b91-824b-4f1058a5f6dc/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 971118564,
"name": "Fitted Vücuda Oturan Ultra Soft Dik Yaka Çift Cepli Parmak Detaylı Fermuarlı Spor Hırka B3985AX25AU",
"brand": {
"name": "DeFacto"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 999.99,
"currentText": "999,99",
"originalPrice": 499.99,
"originalPriceText": "499,99",
"discountedPrice": 400,
"discountedPriceText": "400",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.34375,
"totalCount": 32
},
"url": "/defacto/fitted-vucuda-oturan-ultra-soft-dik-yaka-cift-cepli-parmak-detayli-fermuarli-spor-hirka-b3985ax25au-p-971118564?boutiqueId=61&merchantId=1188",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1757/prod/QC_ENRICHMENT/20250917/14/13082397-94ae-31ad-9eb5-80867cda861c/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 376605774,
"name": "Yarım Fermuarlı Kapüşonlu Crop Sweatshirt 5502p",
"brand": {
"name": "TRENDHİLL"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 149.9,
"currentText": "149,90",
"originalPrice": 149.9,
"originalPriceText": "149,90",
"discountedPrice": 149.9,
"discountedPriceText": "149,90",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.8,
"totalCount": 20
},
"url": "/trendhill/yarim-fermuarli-kapusonlu-crop-sweatshirt-5502p-p-376605774?boutiqueId=61&merchantId=163480",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty579/product/media/images/20221028/9/203296708/608563492/1/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 973425752,
"name": "Fitted Vücuda Oturan Ultra Soft Dik Yaka Çift Cepli Parmak Detaylı Fermuarlı Spor Hırka B3985AX25AU",
"brand": {
"name": "DeFacto"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 999.99,
"currentText": "999,99",
"originalPrice": 499.99,
"originalPriceText": "499,99",
"discountedPrice": 400,
"discountedPriceText": "400",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.789473684210527,
"totalCount": 38
},
"url": "/defacto/fitted-vucuda-oturan-ultra-soft-dik-yaka-cift-cepli-parmak-detayli-fermuarli-spor-hirka-b3985ax25au-p-973425752?boutiqueId=61&merchantId=1188",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1837/prod/QC_ENRICHMENT/20260312/00/924fe45e-e61c-3b5f-95eb-d2bddc7f49f1/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 882409549,
"name": "Sprint Uzun Kollu Koşu Sweatshirt Siyah",
"brand": {
"name": "Scorp"
},
"price": {
"old": 599,
"oldText": "599",
"currency": "TL",
"current": 477.42,
"currentText": "477,42",
"originalPrice": 599,
"originalPriceText": "599",
"discountedPrice": 477.42,
"discountedPriceText": "477,42",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.6,
"totalCount": 5
},
"url": "/scorp/sprint-uzun-kollu-kosu-sweatshirt-siyah-p-882409549?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1637/prod/QC/20250215/19/d67704a8-fe63-378c-819b-cead5524c082/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 771509733,
"name": "SlimFit Kadın Kapüşonlu Bakır Tracktop",
"brand": {
"name": "MARATON"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 1634.14,
"currentText": "1.634,14",
"originalPrice": 1634.14,
"originalPriceText": "1.634,14",
"discountedPrice": 1634.14,
"discountedPriceText": "1.634,14",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 5,
"totalCount": 2
},
"url": "/maraton/slimfit-kadin-kapusonlu-bakir-tracktop-p-771509733?boutiqueId=61&merchantId=108193",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1672/prod/QC/20250430/17/570f9bae-e98a-3d29-8593-aed7e79cf5c9/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 989790374,
"name": "Warmtech Standart Fit Dik Yaka Fermuarlı İçi Yumuşak Tüylü Sporcu Uzun Kollu Tişört B0811AX25AU",
"brand": {
"name": "DeFacto"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 599.99,
"currentText": "599,99",
"originalPrice": 419.99,
"originalPriceText": "419,99",
"discountedPrice": 419.99,
"discountedPriceText": "419,99",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.666666666666667,
"totalCount": 36
},
"url": "/defacto/warmtech-standart-fit-dik-yaka-fermuarli-ici-yumusak-tuylu-sporcu-uzun-kollu-tisort-b0811ax25au-p-989790374?boutiqueId=61&merchantId=1188",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1837/prod/QC_ENRICHMENT/20260311/22/96e1d573-3dfe-3c28-8662-609097d92657/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 906474493,
"name": "Aura Sweatshirt Siyah",
"brand": {
"name": "Jerf"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 1990,
"currentText": "1.990",
"originalPrice": 1990,
"originalPriceText": "1.990",
"discountedPrice": 1990,
"discountedPriceText": "1.990",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.5,
"totalCount": 2
},
"url": "/jerf/aura-sweatshirt-siyah-p-906474493?boutiqueId=61&merchantId=2954",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1647/prod/QC/20250312/14/1818dafe-8c1d-3837-8a40-289296f6ff28/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 816651247,
"name": "Impact Kolsuz Kapüşonlu Kadın Sweatshirt Gri",
"brand": {
"name": "Scorp"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 699,
"currentText": "699",
"originalPrice": 699,
"originalPriceText": "699",
"discountedPrice": 699,
"discountedPriceText": "699",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.25,
"totalCount": 8
},
"url": "/scorp/impact-kolsuz-kapusonlu-kadin-sweatshirt-gri-p-816651247?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1575/prod/QC/20240930/17/ffc00529-b613-3d08-bb3c-94923c610066/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1078929125,
"name": "Dar Kesim Örme Dik Yaka Fermuarlı Aktif Üst",
"brand": {
"name": "Hiccup"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 659,
"currentText": "659",
"originalPrice": 659,
"originalPriceText": "659",
"discountedPrice": 659,
"discountedPriceText": "659",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 3.8095238095238093,
"totalCount": 21
},
"url": "/hiccup/dar-kesim-orme-dik-yaka-fermuarli-aktif-ust-p-1078929125?boutiqueId=61&merchantId=938209",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1821/prod/QC_ENRICHMENT/20260205/13/3272451f-3100-3266-985f-f5d552bcfd8f/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 875874557,
"name": "Breeze Kadın Spor Sweatshirt Yeşil",
"brand": {
"name": "Scorp"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 749,
"currentText": "749",
"originalPrice": 749,
"originalPriceText": "749",
"discountedPrice": 749,
"discountedPriceText": "749",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 5,
"totalCount": 2
},
"url": "/scorp/breeze-kadin-spor-sweatshirt-yesil-p-875874557?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1603/prod/QC/20241114/23/f112194b-bb27-3337-aa24-efac4aeb2d2a/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1075528489,
"name": "Dar Kesim Örme Dik Yaka Fermuarlı Aktif Üst",
"brand": {
"name": "Hiccup"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 669,
"currentText": "669",
"originalPrice": 669,
"originalPriceText": "669",
"discountedPrice": 669,
"discountedPriceText": "669",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.461538461538462,
"totalCount": 39
},
"url": "/hiccup/dar-kesim-orme-dik-yaka-fermuarli-aktif-ust-p-1075528489?boutiqueId=61&merchantId=938209",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1823/prod/QC_ENRICHMENT/20260205/13/64ac07cd-1124-3744-9f13-ee9c00ebd818/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 917209234,
"name": "Aura Fermuarlı Crop Hoodie Gri Melanj",
"brand": {
"name": "Jerf"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 1990,
"currentText": "1.990",
"originalPrice": 1990,
"originalPriceText": "1.990",
"discountedPrice": 1990,
"discountedPriceText": "1.990",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 5,
"totalCount": 2
},
"url": "/jerf/aura-fermuarli-crop-hoodie-gri-melanj-p-917209234?boutiqueId=61&merchantId=2954",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1648/prod/QC/20250312/16/7f215a16-c44e-3483-8146-8e720bdce329/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1039273838,
"name": "SlimZip Fit Fermuarlı Spor Üst",
"brand": {
"name": "Gofeel"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 599,
"currentText": "599",
"originalPrice": 599,
"originalPriceText": "599",
"discountedPrice": 599,
"discountedPriceText": "599",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 2,
"totalCount": 2
},
"url": "/gofeel/slimzip-fit-fermuarli-spor-ust-p-1039273838?boutiqueId=61&merchantId=537772",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1780/prod/QC_PREP/20251024/15/98daa70d-cfcd-3b91-9083-567fb2d48f99/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 917234264,
"name": "Aura Oversize Sweatshirt Kahverengi",
"brand": {
"name": "Jerf"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 1990,
"currentText": "1.990",
"originalPrice": 1990,
"originalPriceText": "1.990",
"discountedPrice": 1990,
"discountedPriceText": "1.990",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.444444444444445,
"totalCount": 9
},
"url": "/jerf/aura-oversize-sweatshirt-kahverengi-p-917234264?boutiqueId=61&merchantId=2954",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1649/prod/QC/20250312/17/d3314793-0d41-32c9-9fcb-cd801f5cca53/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1120948808,
"name": "KADIN TREND PALAMUT PATTERN SWEAT",
"brand": {
"name": "Fenerium"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 2999.95,
"currentText": "2.999,95",
"originalPrice": 2999.95,
"originalPriceText": "2.999,95",
"discountedPrice": 2999.95,
"discountedPriceText": "2.999,95",
"currencySymbol": "TL"
},
"ratingScore": {},
"url": "/fenerbahce/kadin-trend-palamut-pattern-sweat-p-1120948808?boutiqueId=61&merchantId=454",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1840/prod/QC_PREP/20260318/11/bdd36d55-4506-3ea0-95ee-88f93d56946d/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 758334135,
"name": "Kadın UA Rival Fleece Big Logo Kapüşonlu Üst 1379501-001",
"brand": {
"name": "Under Armour"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 2093,
"currentText": "2.093",
"originalPrice": 1843,
"originalPriceText": "1.843",
"discountedPrice": 1843,
"discountedPriceText": "1.843",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.857142857142857,
"totalCount": 7
},
"url": "/under-armour/kadin-ua-rival-fleece-big-logo-kapusonlu-ust-1379501-001-p-758334135?boutiqueId=61&merchantId=109430",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty994/product/media/images/prod/SPM/PIM/20230901/10/589ecd8a-8a31-3dbc-a27a-dde419d5f007/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 917219779,
"name": "Relay Kadın Kapüşonlu Spor Yelek Beyaz",
"brand": {
"name": "Scorp"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 699,
"currentText": "699",
"originalPrice": 699,
"originalPriceText": "699",
"discountedPrice": 699,
"discountedPriceText": "699",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 5,
"totalCount": 2
},
"url": "/scorp/relay-kadin-kapusonlu-spor-yelek-beyaz-p-917219779?boutiqueId=61&merchantId=2889",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1649/prod/QC/20250308/21/0128a2ab-607f-3037-9a49-8098f84f47de/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
},
{
"id": 1020285294,
"name": "Oversize Geniş Kalıp Bisiklet Yaka Modal Sporcu Sweatshirt E8954AX25AU",
"brand": {
"name": "DeFacto"
},
"price": {
"old": 0,
"oldText": "0",
"currency": "TL",
"current": 899.99,
"currentText": "899,99",
"originalPrice": 360,
"originalPriceText": "360",
"discountedPrice": 360,
"discountedPriceText": "360",
"currencySymbol": "TL"
},
"ratingScore": {
"averageRating": 4.666666666666667,
"totalCount": 3
},
"url": "/defacto/oversize-genis-kalip-bisiklet-yaka-modal-sporcu-sweatshirt-e8954ax25au-p-1020285294?boutiqueId=61&merchantId=1188",
"imageUrl": "https://cdn.dsmcdn.com/mnresize/400/-/ty1838/prod/QC_ENRICHMENT/20260311/22/41f7b4f7-73ce-312e-bb58-a3db7ebd664e/1_org_zoom.jpg",
"merchantListings": [],
"categoryId": null,
"categoryName": null
}
]
}