İçeriğe geç
14 gün ücretsiz deneyin
Türkçe
Claude ile aç Bu sayfa hakkında soru sorChatGPT ile aç Bu sayfa hakkında soru sor

API’lerle toptan fiyatlandırma oluşturma

Public API ile istek gövdesi referansının tamamı dahil yeni bir Wholesale Pricing kuralı oluşturun.

Bu belgede Public API ile yeni bir Wholesale Pricing kuralının nasıl oluşturulacağı açıklanmaktadır.


Yeni bir Wholesale Pricing kaydı oluşturmak için aşağıdaki uç noktayı kullanın:

POST - https://wholesale.samita.io/api/v1/wholesale-pricings

Tüm API istekleri aşağıdaki zorunlu üstbilgileri içermelidir:

Üstbilgi Açıklama Zorunlu
X-SAMITA-API-KEY Wholesale uygulamasında verilen API anahtarı Evet
X-SAMITA-SHOP-URL xxx.myshopify.com biçiminde Shopify mağaza alan adı Evet
CONTENT-TYPE application/json olmalıdır Evet

Zorunlu üstbilgilerden biri eksikse istek reddedilir.


Wholesale Pricing oluşturmak için kullanılan veriler JSON biçiminde gönderilmelidir.
Örnek bir JSON yapısı bu belgenin sonunda verilmiştir.

Örnek istek JSON’u:

{
"title": "New Wholesale Pricing",
"status": true,
"apply_customer": {
"type": "all",
"tags": []
},
"exclude_customer": {
"type": "none",
"tags": []
},
"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
},
"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
},
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
],
"apply_market": {
"type": "all",
"handle": []
},
"discount_group": {
"type": "percent",
"value": "10"
},
"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}
}

  • Wholesale Pricing kaydını tanımlamak için kullanılan ad
  • Metin (string) olmalıdır
  • En fazla uzunluk: 255 karakter

  • Kaydın etkin olup olmadığını belirler
  • Yalnızca şu değerleri kabul eder:
Değer Açıklama
true Fiyatlandırma kuralı etkin
false Fiyatlandırma kuralı etkin değil

Bu fiyatlandırma kuralından hangi müşterilerin yararlanabileceğini belirler.

Yapı:

"apply_customer": {
"type": "all",
"tags": []
}

type

Kabul edilen değerler (aşağıdakilerden yalnızca biri):

  • all – Tüm müşterilere uygula
  • logged – Yalnızca oturum açmış müşterilere uygula
  • non-logged – Yalnızca misafir müşterilere uygula
  • customer-tags – Yalnızca belirli etiketlere sahip müşterilere uygula

tags

  • Yalnızca type == customer-tags olduğunda zorunludur
  • Virgülle ayrılmış bir dizi olmalıdır
  • Örnek: ["wholesale","b2b"]

Tür customer-tags değilse bu alan yok sayılabilir.


Belirli müşterileri fiyatlandırma kuralının dışında tutmak için kullanılır.

Yapı:

"exclude_customer": {
"type": "none",
"tags": []
}

type

  • Varsayılan değer: none
  • Kabul edilen değerler:
Değer Açıklama
none Hiçbir müşteriyi hariç tutma
customer-tags Müşterileri etiketlerine göre hariç tut

tags

  • Yalnızca type == customer-tags olduğunda zorunludur
  • Virgülle ayrılmış dizi
  • Örnek: ["vip","wholesale"]

Fiyatlandırma kuralının hangi ürünlere uygulanacağını belirler.

Yapı:

"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
}

type

Kabul edilen değerler:

  • all
  • products
  • collections
  • product-tags

product_ids

  • Yalnızca type == products olduğunda zorunludur
  • Virgülle ayrılmış ürün kimlikleri listesi
  • Örnek: [1,2,3]

product_tags

  • Yalnızca type == product-tags olduğunda zorunludur
  • Örnek: ["tag1","tag2"]

collection_ids

  • Yalnızca type == collections olduğunda zorunludur
  • Örnek: [1,2,3]

apply_for_variants

  • İndirimlerin varyant bazında yapılandırılıp yapılandırılamayacağını belirler
  • Kabul edilen değerler: true veya false
  • Varsayılan değer: false

Kuralın dışında tutulacak ürünleri belirler.

Yapı:

"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
}

type

  • Varsayılan: none
  • Kabul edilen değerler:
Değer Açıklama
none Hiçbir ürünü hariç tutma
products Belirli ürünleri hariç tut
collections Belirli koleksiyonları hariç tut

Diğer alanlar yalnızca seçilen türe bağlı olarak zorunludur.


İndirimler varyant bazında uygulanırken kullanılır.

  • apply_product.apply_for_variants == false ise boş olmalıdır
  • apply_product.apply_for_variants == true ise zorunludur

Örnek yapı:

"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
]

Yapı:

  • Ürün dizisi
  • Her ürün şunları içerir:
    • id – Ürün kimliği
    • variant_pricing – true olmalıdır
    • variants – Varyant dizisi

Her varyant şunları içerir:

  • id – Varyant kimliği
  • discount_groups – İndirim ayarları dizisi

discount_groups kuralları

  • apply_customer.type değeri all, logged veya non-logged ise:
    → Dizide yalnızca bir öğeye izin verilir
  • apply_customer.type == customer-tags ise:
    → Birden fazla indirim grubu girilebilir

discount_groups içindeki alanlar:

Alan Açıklama
name Müşteri türüyle veya müşteri etiketiyle eşleşmelidir
type İndirim türü
value İndirim değeri

Kabul edilen indirim türleri:

  • percent
  • amount
  • fixed-amount

Değer kuralları:

  • 0’dan büyük bir sayı olmalıdır
  • Tür percent ise değer 100’den küçük olmalıdır

Kuralın hangi Shopify pazarlarına uygulanacağını belirler.

Yapı:

"apply_market": {
"type": "all",
"handle": []
}

type

Kabul edilen değerler:

  • all
  • specific-market

handle

  • Yalnızca type == specific-market olduğunda zorunludur
  • Virgülle ayrılmış pazar tanıtıcıları (handle) listesi
  • Örnek: ["japan","us"]

Pazar tanıtıcısını (handle) almak için şu adımları izleyin:

  • Shopify yönetici panelinde Pazarlar bölümüne gidin > Diğer işlemler’e tıklayın > Pazar tanıtıcılarını düzenle’yi seçin > Orada görünen tanıtıcıyı kopyalayın:


İndirim varyant bazında yapılandırılmadığında kullanılır.

Şu durumlarda zorunludur:

  • apply_product.type değeri products değilse VEYA
  • apply_product.type == products olup varyantlar uygulanmıyorsa

Yapı:

"discount_group": {
"type": "percent",
"value": "10"
}

İndirim türleri ve değerleri için kurallar yukarıda açıklananlarla aynıdır.


Fiyatlandırma kuralının başlangıç ve bitiş zamanını yapılandırmak için kullanılır.

Yapı:

"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
}

types

  • İsteğe bağlı
  • Kabul edilen değerler: start_date, end_date
  • Biri veya ikisi birlikte, virgülle ayrılarak girilebilir
  • Örnek: ["start_date","end_date"]

start_at

  • types içinde start_date varsa zorunludur
  • Biçim: YYYY-MM-DD HH:MM:SS

end_at

  • types içinde end_date varsa zorunludur
  • Biçim: YYYY-MM-DD HH:MM:SS

401 – Yetkisiz

Olası nedenler:

  • Mağaza URL’si eksik
  • API anahtarı eksik
  • Mağaza URL’si geçersiz
  • API anahtarı geçersiz
  • API anahtarı mağazayla eşleşmiyor

403 – Bu işlem için yetki yok

  • API anahtarının Create izni yok
  • Her API anahtarı şu izinlere sahip olabilir: View, Create, Update, Delete
  • Bu API için Create izni gerekir
  • Girilen kimlik mevcut olmadığında da döndürülür

429 – Çok fazla istek

  • İstek sınırı aşıldı
  • İzin verilen üst sınır:
Sınır Değer
İstek sıklığı 5 dakikada 1 istek
Günlük sınır Günde 50 istek

200 – API başarılı

  • Wholesale Pricing kaydı başarıyla oluşturuldu
  • Yanıt JSON biçiminde döndürülür
{
"id": 1,
"title": "New Wholesale Pricing",
"status": true,
"apply_customer": {
"type": "all",
"tags": []
},
"exclude_customer": {
"type": "none",
"tags": []
},
"apply_product": {
"type": "all",
"product_ids": [],
"product_tags": [],
"collection_ids": [],
"apply_for_variants": false
},
"exclude_product": {
"type": "none",
"product_ids": [],
"collection_ids": []
},
"discount_for_variants": [
{
"id": 8516448190631,
"variant_pricing": true,
"variants": [
{
"id": 46747346763943,
"discount_groups": [
{
"name": "all",
"type": "percent",
"value": "10"
}
]
}
]
}
],
"apply_market": {
"type": "all",
"handle": []
},
"discount_group": {
"type": "percent",
"value": "10"
},
"active_date": {
"types": ["start_date", "end_date"],
"start_at": "2026-01-15 10:00:00",
"end_at": "2026-01-15 10:00:00"
},
"created_at": "2026-01-15T10:00:00",
"updated_at": "2026-01-15T10:00:00"
}

Bu sayfa yardımcı oldu mu?