T-SOFT/Admin API/Ürünler

Ürünler

Kapsam: okuma read_products, oluşturma ve güncelleme write_products, silme delete_products. Fiyat alanları ayrıca write_product_prices, stok alanları write_inventory ister (Alan kapsamları). Hata gövdeleri için Hatalar, sayfalama ve filtre söz dizimi için Sorgu Parametreleri.
UçMetotKapsam
catalog/productsGETread_products
catalog/productsPOSTwrite_products
catalog/products/{id}GETread_products
catalog/products/{id}PATCHwrite_products
catalog/products/{id}DELETEdelete_products
catalog/variantsGET, POSTread_products / write_products
catalog/variants/{id}GET, PATCH, DELETEread_products / write_products

Ürünleri listeleme

GET /catalog/products
curl 'https://magaza.com/api/v3/admin/2026-01/catalog/products?filter[inStock]=true&sort=-createdAt&page[size]=50' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json'

Tek ürün için GET /catalog/products/{id}.

Alanlar

AlanTürAçıklama
namestringÜrün adı
slugstringVitrin adresindeki kısa ad
catalogCodestringKatalog kodu (aynı ürünün renk/beden gibi kopyalarını gruplar)
barcodestringBarkod
mpnstringÜretici parça numarası
seoTitle, seoDescription, searchKeywordsstringSEO ve arama alanları
categoryIdintegerAna kategori
categoryPath, categoryNamestringAna kategorinin yolu ve adı
brandId, brandinteger, stringMarka
modelId, modelinteger, stringModel
stockUnitIdintegerStok birimi
pricenumberSatış fiyatı
discountPricenumberİndirimli fiyat
purchasePricenumberAlış fiyatı
taxRatenumberKDV oranı
isTaxIncludedbooleanFiyatlar KDV dahil mi
currencyIdintegerPara birimi
stocknumberToplam stok
visibilityintegerVitrinde görünürlük
freeShipping, isNew, isBestseller, isFeaturedbooleanÜrün bayrakları
isCatalogDefaultbooleanKatalog kodu grubunun varsayılan ürünü
hasImagebooleanGörseli var mı
createdAtdatetimeOluşturulma zamanı

İlişkiler: category, currency, images (?include=images).

Filtreler

FiltreÖrnek
idfilter[id]=12,15,18
searchfilter[search]=cüzdan (ad, id, entegrasyon kodu, barkod, tedarikçi kodu, katalog kodu ve MPN'de arar; filter[searchFields]=barcode ile daraltılır)
categoryIdfilter[categoryId]=42
brandIdfilter[brandId]=3,7
inStockfilter[inStock]=true
rangeBetween.pricefilter[rangeBetween.price]=100,500
rangeBetween.stockfilter[rangeBetween.stock]=,5 (stoğu 5 ve altı)
rangeBetween.createdAtfilter[rangeBetween.createdAt]=2026-10-01,2026-10-31
hasImage, isNew, isFeatured, hasSubProductfilter[hasSubProduct]=true

Sıralama: price, discountPrice, stock, createdAt, id.

Ürün oluşturma

POST /catalog/products
curl -X POST 'https://magaza.com/api/v3/admin/2026-01/catalog/products' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
    "data": {
      "type": "products",
      "attributes": {
        "name": "Klasik Deri Cüzdan",
        "categoryId": 352,
        "brandId": 3,
        "barcode": "8690000000017",
        "price": 749.90,
        "taxRate": 20,
        "isTaxIncluded": true,
        "stock": 25
      }
    }
  }'

name ve categoryId zorunludur. categoryId alt kategorisi olmayan (yaprak) bir kategori olmalıdır (Kategori ağacı). Yanıt 201 ile oluşan ürünü döner.

Yazılabilen alanlar: name, slug, catalogCode, barcode, seoTitle, seoDescription, searchKeywords, categoryId, brandId, modelId, modelIds, stockUnitId, price, discountPrice, taxRate, isTaxIncluded, stock, visibility (0/1), freeShipping, isNew, isBestseller, isFeatured, isCatalogDefault. Mağazada barkod tekilliği açıksa aynı barkodla ikinci ürün 422 döner.

Görsel eklemek için Ürün görselleri, seçenekli ürün için Varyantlar.

Ürün güncelleme

PATCH /catalog/products/{id}
curl -X PATCH 'https://magaza.com/api/v3/admin/2026-01/catalog/products/45789' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{"data": {"type": "products", "id": "45789", "attributes": {"seoTitle": "Klasik Deri Cüzdan | Mağaza", "visibility": 1}}}'

Yalnız gönderdiğiniz alanlar doğrulanır ve yazılır; göndermediğiniz alanlar değişmez.

Ürün silme

DELETE /catalog/products/{id}, delete_products kapsamıyla 204 döner. Bu kapsam onay ekranında hassas olarak işaretlenir; ürünü yalnız vitrinden kaldırmak için silmek yerine visibility: 0 yazın.

Alan kapsamları

Fiyat ve stok alanları write_products'a ek kapsam ister. Bu alanlardan birini içeren istek, gerekli kapsam yoksa bütünüyle 403 döner; detail alanı eksik izni yazar ("Fiyat Güncelle", "Stok Güncelle"). Oluşturma isteği için de aynı kural geçerlidir.

AlanlarEk kapsam
Ürün: price, discountPrice, taxRate; varyant: salePrice, salePriceDiscount, purchasePrice, vendorSalePrice, vendorDiscountwrite_product_prices
Ürün: stock; varyant: stock, stockNumber2 … stockNumber99, stockTempwrite_inventory

Depo bazında stok için Stok uçlarını kullanın; stock alanı ana deponun miktarıdır.

Varyantlar

Renk, beden gibi seçenekleri olan ürünlerin her seçeneği bir varyanttır.

GET /catalog/variants
curl 'https://magaza.com/api/v3/admin/2026-01/catalog/variants?filter[productId]=45789' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json'
AlanAçıklama
productIdAna ürün
typeName1, typeName2Seçenek değerleri (örn. Kırmızı, M)
subProductCodeVaryant stok kodu
wsSubProductCodeEntegrasyon (web servis) stok kodu
productBarcodeVaryant barkodu
stockStok
salePrice, salePriceDiscount, purchasePriceFiyatlar
weight, cbmAğırlık ve desi

Filtreler: id, productId (virgülle birden fazla), subProductCode, wsSubProductCode, productBarcode. Bu dört metin filtresi kısmi eşleşir; tam eşleşme için exact. önekini kullanın (filter[exact.subProductCode]=CZD-01-KRM).

Varyant oluşturma ve güncelleme

POST /catalog/variants
curl -X POST 'https://magaza.com/api/v3/admin/2026-01/catalog/variants' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{"data": {"type": "variants", "attributes": {"productId": 45789, "typeId1": 5, "typeId2": 12, "subProductCode": "CZD-01-KRM-M", "productBarcode": "8690000000024"}}}'
AlanAçıklama
productIdAna ürün; oluştururken zorunlu
typeId1, typeId2Seçenek değerlerinin kimlikleri (Varyant grupları); en az biri zorunlu
subProductCode, wsSubProductCodeVaryant stok kodu ve entegrasyon kodu; mağazada tekil
productBarcodeBarkod
stock, salePrice, salePriceDiscount, purchasePriceStok ve fiyatlar (Alan kapsamları)
weight, cbmAğırlık ve desi
isActiveSatışta mı
customerMinOrderCount, customerMaxOrderCountMüşteri başına en az / en çok adet

Güncelleme PATCH /catalog/variants/{id}, silme DELETE /catalog/variants/{id} ile yapılır; ikisi de write_products ister.

Kategoriler

GET /catalog/categories
curl 'https://magaza.com/api/v3/admin/2026-01/catalog/categories?filter[rootOnly]=true' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json'

Başlıca alanlar: name, code, slug, parentId, listOrder, visibility. İlişkiler: parent, children. Filtreler: id, parentId, rootOnly, visible.

Markalar

GET /catalog/brands
curl 'https://magaza.com/api/v3/admin/2026-01/catalog/brands' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/vnd.api+json'

Başlıca alanlar: name, isPassive, seoLink, seoTitle, listNo. Filtreler: id, name, isPassive.