Ürünler
Bu servis aracılığı ile Labs platformu üzerinde yeni ürün kartları oluşturabilir, oluşturulan ürün kartlarınızın listesini çekebilir, ürün kartlarınız üzerinden güncelleme yapabilir veya ürün kartlarınızı silebilirsiniz.
Yeni Ürün Kartı Oluştur
Yeni ürün kartı oluşturmak için gerekli parametreler aşağıdaki tabloda belirtilmiştir.
Labs platformunda ürün tipleri seçenekli/varyantlı, ticari, paket ve dijital ürün olarak 4'e ayrılır. Oluşturulan her bir ürünün en az 1 varyantı olmalıdır. Yani ürünler için en üstte bir product nesnesi ve altında en az 1 variant nesnesi bulunmalıdır. Product nesnesi, SKU, başlık, kategori ve marka gibi temel bilgileri tutar. Variant nesnesi ise barkod, renk, beden ve ürün düzeyindeki diğer özelliklerin bilgilerini içerir. Ürün ekleme işlemi yaparken bu bilgiler dikkate alınarak düzenleme yapılmalıdır.
Önemli Bilgi : Yeni ürün oluşturmak için en alt seviyedeki kategori ID bilgisi kullanılmalıdır. Seçtiğiniz kategorinin alt kategorileri var ise bu kategori bilgisi ile ürün aktarımı yapamazsınız.
- Name
brandId
- Type
- integer
- Description
Marka ID bilgisidir. Marka servisinden alınan ID bilgisi iletilmelidir. Yoksa
null
yada 0 olarak iletilebilir.
- Name
categoryId
- Type
- integer
- Description
Kategori ID bilgisidir. Kategori servisinden alınan ID bilgisi iletilmelidir. Yoksa
null
olarak iletilebilir.
- Name
supplierId
- Type
- integer
- Description
Tedarikçi ID bilgisidir. Tedarikçi servisinden alınan ID bilgisi iletilmelidir. Yoksa
null
olarak iletilebilir.
- Name
productType
* zorunlu- Type
- integer
- Description
Ürün tipi :
- 0 - varyantlı ürün
- 1 - ticari ürün (varyantsız)
- 2 - dijital ürün
- Name
mainSku
* zorunlu- Type
- string
- Description
Ürüne ait benzersiz stok kodu
- Name
customAttributes
- Type
- array
- Description
Ekstra ürün özellikleri, yaka tipi, topuk boyu, son kullanma tarihi vb.
- Name
customAttributes.*.attributeId
* zorunlu- Type
- integer
- Description
Ürün özellikleri servisinden alınan attributeId
- Name
customAttributes.*.attributeValueId
* zorunlu- Type
- integer
- Description
Ürün özellikleri servisinden alınan özellik değerine ait attributeValueId
- Name
title
* zorunlu- Type
- string
- Description
Ürün başlık bilgisi
- Name
subTitle
- Type
- string
- Description
Ürün Alt başlık bilgisi
- Name
description
- Type
- string
- Description
Ürün açıklaması
- Name
variants
* zorunlu- Type
- array
- Description
Ürün varyantları
- Name
variants.barcode
* zorunlu- Type
- string
- Description
Barkod bilgisi
- Name
variants.skuId
* zorunlu- Type
- string
- Description
Varyanta ait benzersiz ürün kodu, kendi sisteminizdeki ürün eşleştirmeleri için kullanabilirsiniz.
- Name
variants.gtin
- Type
- string
- Description
GTIN kodu
- Name
variants.desi
- Type
- integer
- Description
Ürün desi bilgisi
- Name
variants.erpLineId
- Type
- integer
- Description
Ürünün ERP uygulamanızdaki primary key bilgisi, ERP eşleştirmeleri için kullanabilirsiniz.
- Name
variants.attributes
- Type
- array
- Description
Renk ve beden gibi varyant özelliklerini içerir.
- Name
variants.attributes.attributeType
* zorunlu- Type
- string
- Description
Varyant özellik tipidir. Şu anda sadece
color
vesize
değerlerini verebilirsiniz.
- Name
variants.attributes.attributeLabel
* zorunlu- Type
- string
- Description
Özellik adıdır. Örneğin renk özelliği için renk adını belirtir. (Örn : Mavi)
- Name
variants.attributes.attributeValue
* zorunlu- Type
- string
- Description
Özellik kodudur. Ürün eşleştirmelerinde ve gruplamalarında bu bilgi kullanılır. (Örn : BL-01)
- Name
variants.unit
- Type
- array
- Description
Ürüne ait birim bilgilerini (Adet, Gram, Metre vb.) içerir.
- Name
variants.unit.name
* zorunlu- Type
- string
- Description
Ürüne ait birim adı bilgisini (Adet, Gram, Metre vb.) içerir.
- Name
variants.unit.erpRefId
- Type
- string
- Description
Birim bilgisinin ERP eşleştirmeleri için kullanılır. Birim bilgisine ait ERP uygulamasındaki primary key bilgisi verilebilir.
- Name
variants.meta
- Type
- array
- Description
Barkod, renk yada ürün bedeni özelinde ürün başlığı, açıklaması vb. bilgileri eklemek için varyant düzeyinde ekleme yapılabilir.
- Name
variants.meta.title
* zorunlu- Type
- string
- Description
Ürün varyant başlığı.
- Name
variants.meta.subTitle
- Type
- string
- Description
Ürün varyant alt başlığı.
- Name
variants.meta.description
- Type
- string
- Description
Ürün varyant açıklaması, HTML kodları içerebilir.
- Name
variants.meta.keywords
- Type
- string
- Description
Ürün varyant anahtar kelimeleri.
- Name
variants.meta.source
- Type
- string
- Description
Ürün varyant meta bilgilerinin hangi platforma ait olduğu bilgisi. Şimdilik boş bırakılmalıdır.
- Name
variants.inventories
- Type
- array
- Description
Stok bilgilerini içerir
- Name
variants.inventories.warehouseId
- Type
- integer
- Description
Depo ID bilgisidir. Depo servisinden alınan ID bilgisi iletilmelidir. Yoksa
null
olarak iletilebilir.null
değer verilirse ön tanımlı depo üzerinden işlemler yapılır.
- Name
variants.inventories.quantity
- Type
- integer
- Description
İlgili depoya ait ürün adedi bilgisi.
- Name
variants.inventories.source
- Type
- string
- Description
Stok adedinin hangi platforma ait olduğu bilgisidir. Boş değer gönderilirse global olarak geçerli olur. Pazaryeri bazlı ayrı stok bilgisi iletebilir. Aktif platformlar servisinden iletebilecek servis bilgileri alınabilir.
- Name
variants.prices
- Type
- array
- Description
Fiyat bilgilerini içerir
- Name
variants.prices.warehouseId
- Type
- integer
- Description
Depo ID bilgisidir. Depo servisinden alınan ID bilgisi iletilmelidir. Yoksa
null
olarak iletilebilir.null
değer verilirse ön tanımlı depo üzerinden işlemler yapılır.
- Name
variants.prices.currency
- Type
- string
- Description
Para birimi değeridir. Ön tanımlı değer TRY'dir. İletilmezse ön tanımlı değer üzerinden işlem yapılır. Sadece hesap düzeyinde aktif olan para birimleri iletebilir.
- Name
variants.prices.costPrice
- Type
- float
- Description
Maliyet fiyatı bilgisi.
- Name
variants.prices.listPrice
- Type
- float
- Description
Liste fiyatı bilgisi. (Üstü çizili fiyat)
- Name
variants.prices.salePrice
- Type
- float
- Description
Satış fiyatı bilgisi.
- Name
variants.prices.wholesalePrice
- Type
- float
- Description
Toptan fiyatı bilgisi.
- Name
variants.prices.vatRate
- Type
- integer
- Description
KDV oranı bilgisi. 0,1,8 yada 18 olarak iletilebilir.
- Name
variants.images
- Type
- array
- Description
Ürün görsellerini içerir.
- Name
variants.images.url
- Type
- string
- Description
Ürün görsellerine ait URL bilgisi. Kendi URL bilginizi verebilir yada görsel yükleme servisinden yükleme yapıp URL bilgisini alabilirsiniz.
- Name
variants.images.sortId
- Type
- integer
- Description
Görsel sıralama bilgisi
Request
curl --location --request POST 'https://api.labsoffice.com/v1/products' \
--header 'Authorization: Bearer {API_TOKEN}'
--header 'Content-Type: application/json' \
--data-raw '{
"brandId": 45,
"categoryId": null,
"supplierId": null,
"productType": 0,
"mainSku": "TEST-PRODUCT-301",
"customAttributes": [
{
"attributeId" : 123,
"attributeValueId" : 456
},
{
"attributeId" : 556,
"attributeValueId" : 774
},
],
"title": "Erkek Likralı Şort",
"subTitle": "Airlife Workout",
"description": "Airlife erkek basic klasik kesim şort, tatilde, sporda, günlük yaşamda ve bir çok alanda rahat bir şekilde giyebilirsiniz. ",
"variants": [
{
"barcode": "828933000000",
"skuId": "1020304_R02_005_L",
"gtin": "",
"attributes": [
{
"attributeType": "color",
"attributeLabel": "Mavi",
"attributeValue": "Mavi"
},
{
"attributeType": "size",
"attributeLabel": "S",
"attributeValue": "S"
}
],
"desi": 0,
"unit": {
"name": "ADET",
"erpRefId": null
},
"customAttributes": "",
"erpLineId": null,
"meta": [
{
"title": "Deneme 45ryr ",
"description": "",
"subTitle": "",
"keywords": "",
"source": ""
}
],
"inventories": [
{
"warehouseId": "17",
"quantity": "5",
"source": ""
},
{
"warehouseId": "1",
"quantity": "5",
"source": "HEPSIBURADA"
}
],
"prices": [
{
"warehouseId": "1",
"currency": "TRY",
"costPrice": "2314",
"listPrice": "234",
"salePrice": "23",
"wholesalePrice": "0",
"vatRate": "0"
}
],
"images": [
{
"url": "https://fastly.picsum.photos/id/768/1024/768.jpg?hmac=bRktwgzo-wkXah5iwWLKIKuITUWtQyFyYxmGs2jHrGQ",
"sortId": 2
},
{
"url": "https://fastly.picsum.photos/id/520/1024/768.jpg?hmac=Mh2_4LyT2jyyp1Q0msKUS7gwN8rhQKxu2bjfR8T2UD8",
"sortId": 1,
"isPrimary": true
},
{
"url": "https://fastly.picsum.photos/id/317/1024/768.jpg?hmac=LQh7YciLubvTg4h3FvHIQJ0QnmGmLOFO0L2d5WIc5Qc",
"sortId": 3
}
]
}
]
}'
Response
{
"status": "success",
"message": "Ürün ekleme işlemi başarılı",
"payload" : {
"id" : 123 // product id
}
}
Ürün Listesi
Bu servis aracılığı ile Labs platformu üzerinde oluşturulan ürünlerinizi listeleyebilirsiniz.
Servis pagination ile çalışmaktadır. page ve limit parametrelerinin gönderilmesi zorunludur. Filtreleme yapabilmek için gerekli parametreler aşağıdaki tabloda belirtilmiştir.
subBundleProducts
alanında paket ürüne ait alt ürünlerin bilgileri gelir.
Optional attributes
- Name
page
- Type
- integer
- Description
Mevcut sayfa bilgisi
- Name
limit
- Type
- integer
- Description
Sayfa başına düşen içerik sayısı
- Name
categoryIds
- Type
- string
- Description
Kategori ID bilgisi
- Name
brandIds
- Type
- string
- Description
Marka ID bilgisi
- Name
collectionIds
- Type
- string
- Description
Koleksiyon ID bilgisi
- Name
status
- Type
- integer
- Description
0 : Yayında değil, 1: yayında, 2: düzenleme bekliyor
- Name
type
- Type
- string
- Description
commercial : Tekil Ürün, combine: Varyantlı Ürün, bundle: Paket Ürün
Request
curl --location --request GET 'https://api.labsoffice.com/v1/products?page=1&limit=10' \
--header 'Authorization: Bearer {API_TOKEN}'
Response
{
"items": [
{
"id": 1,
"mainSku": "14001",
"productType": "combine",
"brandId": 1,
"categoryId": 33090, // bu alan kullanımdan kaldırılacaktır. Lütfen aşağıdaki "categories" alanı kullanınız!!!
"categories": [
{
"categoryId": 33090,
"categoryName": "Erkek Büyük Beden"
},
{
"categoryId": 33093,
"categoryName": "Spor Giyim"
}
],
"title": {
"en": "Men's Tracksuit (Big Size)",
"tr": "Erkek Büyük Beden Likralı Eşofman Takımı"
},
"subTitle": {
"en": "Airlife Sportswear",
"tr": "Airlife Sportswear"
},
"description": {
"tr": "Airlife erkek büyük beden kapüşonlu fermuarlı hafif slim eşofman takımı, rahat ve modern stili sayesinde günlük yada spor aktivitelerinizde de tercih edebilirsiniz.",
"en": "Airlife men's oversized hooded zipper lightweight slim track suit, comfortable and modern style for your daily or sports activities."
},
"keywords": {
"tr": "büyük beden, battal, ekru melanj, siyah melanj, lacivert melanj, bordo, kapüşon, fermuar, spor, fitness, koşu, yürüyüş, slim, dar, antrenman, günlük",
"en": "plus size, battal, ecru melange, black melange, navy blue melange, burgundy, hoodie, zipper, sports, fitness, running, walking, slim, narrow, training, daily"
},
"createdAt": "2019-10-23T12:31:09.000000Z",
"customAttributes": null,
"collections": [],
"variants": [
{
"barcode": "8682417002895",
"color": "R01_004",
"size": "2XL",
"modelId": "14001",
"skuId": "14001_R01_004_2XL",
"unitId": null,
"status": 1,
"attributes": [
{
"attributeType": "color",
"attributeLabel": "Ekru Melanj",
"attributeValue": "R01_004"
},
{
"attributeType": "size",
"attributeLabel": "2XL",
"attributeValue": "2XL"
}
],
"meta": {
"title": "",
"subTitle": "",
"description": "",
"keywords": ""
},
"images": [
{
"src": "https://static-labs.s3.eu-central-1.amazonaws.com/products/1/14001/original/14001_R01_004_1.jpg",
"sortId": 1
},
{
"src": "https://static-labs.s3.eu-central-1.amazonaws.com/products/1/14001/original/14001_R01_004_2.jpg",
"sortId": 2
},
],
"prices": [
{
"currency": "TRY",
"warehouseId": 1,
"costPrice": "160.00",
"salePrice": "199.90",
"listPrice": "299.98",
"vatRate": 8
}
],
"subBundleProducts": [
{
"subBarcodeId": "2121002726731",
"unitQuantity": 1,
"unitPercent": "33.33"
},
{
"subBarcodeId": "2121002726748",
"unitQuantity": 1,
"unitPercent": "33.33"
},
{
"subBarcodeId": "2121005940752",
"unitQuantity": 1,
"unitPercent": "33.33"
}
],
"quantity": [
{
"warehouseId": 1,
"qty": 18,
"source": null,
"maxShowQty": null,
"maxCartQty": null,
"safeLockQty": 0,
"isLocked": 0,
"updatedAt": "2021-12-13T11:09:19.000000Z"
}
]
}]
}],
"totalItems": 1,
"totalPage": 1,
"currentPage": 1,
"limit": 10
}
Ürün Görüntüle
Bu servis aracılığı ile Labs platformu üzerinde mevcut bir ürüne ait detayları listeleyebilirsiniz.
Request
curl --location --request GET 'https://api.labsoffice.com/v1/products/15632' \
--header 'Authorization: Bearer {API_TOKEN}'
Response
{
"id": 31459,
"mainSku": "8681715340357",
"productType": "commercial",
"brandId": 2044,
"categoryId": 330,
"categories": [
{
"categoryId": 330,
"categoryName": "Dezenfektan"
},
{
"categoryId": 334,
"categoryName": "Temizlik"
}
],
"title": {
"tr": "2020 Üretimi Konix Antibakteriyel El Dezenfektan Jel 50ML"
},
"subTitle": null,
"description": null,
"keywords": null,
"createdAt": "2021-06-21T13:10:03.000000Z",
"customAttributes": null,
"collections": [],
"variants": [
{
"barcode": "8681715340357",
"color": "",
"size": "",
"modelId": "8681715340357",
"skuId": "8681715340357",
"unitId": null,
"status": 1,
"attributes": [],
"meta": {
"title": "",
"subTitle": "",
"description": "",
"keywords": ""
},
"images": [],
"prices": [
{
"currency": "TRY",
"warehouseId": 31,
"costPrice": "12.00",
"salePrice": "37.56",
"listPrice": "50.08",
"vatRate": 8
}
],
"subBundleProducts": [
{
"subBarcodeId": "2121002726731",
"unitQuantity": 1,
"unitPercent": "33.33"
},
{
"subBarcodeId": "2121002726748",
"unitQuantity": 1,
"unitPercent": "33.33"
},
{
"subBarcodeId": "2121005940752",
"unitQuantity": 1,
"unitPercent": "33.33"
}
],
"quantity": [
{
"warehouseId": 31,
"qty": 249,
"source": null,
"maxShowQty": null,
"maxCartQty": null,
"safeLockQty": 0,
"isLocked": 0,
"updatedAt": "2021-12-12T17:49:10.000000Z"
}
]
}
]
}
Stok ve Fiyat Güncelleme
Yeni ürün kartı oluşturmak için gerekli parametreler aşağıdaki tabloda belirtilmiştir.
platform
alanından pazaryeri bazlı stok ve fiyat bilgisi gönderebilirsiniz.
Zorunlu parametreler
- Name
barcode
* zorunlu- Type
- string
- Description
Ürün barkodu
- Name
quantity
* zorunlu- Type
- integer
- Description
Stok adedi bilgisi -
Adet güncellemesi için zorunludur
- Name
warehouseId
- Type
- integer
- Description
Depo ID bilgisi, boş gönderilirse yapılan değişiklikler Labs üzerinde tanımlı olan tüm depolara uygulanır
- Name
salePrice
* zorunlu- Type
- float
- Description
Satış fiyatı bilgisi -
Satış ve Platform fiyat güncellemesi için zorunludur
- Name
listPrice
* zorunlu- Type
- float
- Description
Üstü çizili fiyat bilgisi
Liste ve Platform fiyat güncellemesi için zorunludur
- Name
buyPrice
- Type
- float
- Description
Alış (Maliyet) fiyatı bilgisi
- Name
wholesalePrice
- Type
- float
- Description
Toptan fiyat bilgisi
- Name
currency
- Type
- float
- Description
Döviz tipi bilgisi
- Name
vatRate
- Type
- float
- Description
KDV oran bilgisi
- Name
platform
- Type
- array
- Description
Platform bazında fiyat ve stok kuralı uygulamak için kullanılabilir
- Name
platform.salePrice
- Type
- float
- Description
Platform özelinde belirlenen satış fiyatı
- Name
platform.quantityDiff
- Type
- integer
- Description
Girilen değer kadar stok farkı ilgili platforma yansıtılır. 10 yada -10 şeklinde değerler gönderilebilir.
- Name
platform.groupCode
- Type
- float
- Description
Toptan fiyat grubu adı. Örneğin : X_GRUBU, Y_GRUBU vb.
- Name
platform.name
- Type
- string
- Description
Platform adını belirtmelisiniz. Uppercase formatında gönderilmelidir. Örneğin : TRENDYOL, HEPSIBURADA, WHOLESALE, WEB vb.
Request
curl --location --request GET https://api.labsoffice.com/v1/products/price-and-inventory \
--header "Authorization: Bearer {API_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '
{
"items": [
{
"barcode": "8682417002895",
"quantity": 150,
"warehouseId": 1,
"salePrice": 122.85,
"listPrice": 133.85,
"buyPrice":50.00,
"wholesalePrice": 70.50,
"currency": "TRY",
"vatRate": 20,
"platform" : [
{
"salePrice": 122.85,
"quantityDiff": 100,
"name" : "TRENDYOL"
},
{
"salePrice": 122.85,
"groupCode": "X_GRUBU",
"name" : "WHOLESALE"
},
{
"salePrice": 122.85,
"quantityDiff": -10,
"name" : "HEPSIBURADA"
}
]
},
{
"barcode": "8682417002896",
"quantity": 150,
"warehouseId": 1,
"salePrice": 122.85,
"listPrice": 133.85,
"platform" : []
},
{
"barcode": "8682417002897",
"quantity": 150,
"warehouseId": 1,
"salePrice": 122.85,
"listPrice": 133.85,
"platform" : []
}
]
}'
Response
{
"batchRequestId": "fjj03333-45k4-4730-44lo-9349493k434-3912831312",
"totalItems" : 1, // toplam gönderilen istek
"validItems" : 1, // işleme alınan istek
"invalidItems" : 0, // geçersiz & hatalı istekler
}
İşlem Sonucu Sorgulama
Stok ve fiyat güncelleme işlem sonuçlarını bu servis aracılı ile kontrol edebilirsiniz.
Request
curl --location --request GET
https://api.labsoffice.com/v1/products/batch-requests/4e029e39-a1f6-4462-9e95-0a970fd84811 \
--header "Authorization: Bearer {API_TOKEN}" \
--header "Content-Type: application/json" \
Response
{
"batchRequestId": "fjj03333-45k4-4730-44lo-9349493k434-3912831312",
"items" : [
// işlem sonucu
]
}