API’lerle toptan fiyatlandırmayı güncelleme/düzenleme
Public API ile istek gövdesi referansının tamamı dahil mevcut bir Wholesale Pricing kuralını güncelleyin.
Bu belgede Public API ile mevcut bir Wholesale Pricing kuralının nasıl güncelleneceği açıklanmaktadır.
1. Uç nokta
Bölüm başlığı “1. Uç nokta”Mevcut bir Wholesale Pricing kaydını güncellemek için aşağıdaki uç noktayı kullanın:
PUT https://wholesale.samita.io/api/v1/wholesale-pricings/{id}{id}, Wholesale Pricing kaydının kimliğidir- Kimlik uygulama arayüzünden alınabilir (“#” simgesi olmadan)
- Örnek görünüm:

Örnek:
Bölüm başlığı “Örnek:”PUT https://wholesale.samita.io/api/v1/wholesale-pricings/12. İstek üstbilgileri
Bölüm başlığı “2. İstek üstbilgileri”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.
3. İstek gövdesi
Bölüm başlığı “3. İstek gövdesi”_ Wholesale Pricing’i güncellemek için kullanılan veriler JSON biçiminde gönderilmelidir. Örnek bir JSON yapısı bu belgenin sonunda verilmiştir.
_ İstekte yalnızca güncellenmesi gereken alanlar yer almalıdır. Create API yönteminde olduğu gibi tüm alanları göndermek zorunlu değildir.
_ Belirtilmeyen alanlar değişmeden kalır
Ö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" }}c. title
Bölüm başlığı “c. title”- Wholesale Pricing kaydını tanımlamak için kullanılan ad
- Update API’de isteğe bağlıdır
- Metin (string) olmalıdır
- En fazla uzunluk: 255 karakter
d. status
Bölüm başlığı “d. status”- Kaydın etkin olup olmadığını belirler
- Update API’de isteğe bağlıdır
- Yalnızca şu değerleri kabul eder:
| Değer | Açıklama |
|---|---|
true |
Fiyatlandırma kuralı etkin |
false |
Fiyatlandırma kuralı etkin değil |
e. apply_customer
Bölüm başlığı “e. apply_customer”Bu fiyatlandırma kuralından hangi müşterilerin yararlanabileceğini belirler.
Yapı:
"apply_customer": { "type": "all", "tags": []}type
Kabul edilen değerler:
allloggednon-loggedcustomer-tags
tags
- Yalnızca
type == customer-tagsolduğunda zorunludur - Virgülle ayrılmış bir dizi olmalıdır
- Örnek:
["wholesale","b2b"]
f. exclude_customer
Bölüm başlığı “f. exclude_customer”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-tagsolduğunda zorunludur - Örnek:
["vip","wholesale"]
g. apply_product (Zorunlu)
Bölüm başlığı “g. apply_product (Zorunlu)”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:
allproductscollectionsproduct-tags
Diğer alanlar seçilen türe bağlı olarak zorunludur:
product_ids→type == productsise zorunludurproduct_tags→type == product-tagsise zorunludurcollection_ids→type == collectionsise zorunludur
apply_for_variants
- Kabul edilen değerler:
trueveyafalse - Varsayılan değer:
false
h. exclude_product
Bölüm başlığı “h. exclude_product”Kuralın dışında tutulacak ürünleri belirler.
Yapı:
"exclude_product": { "type": "none", "product_ids": [], "collection_ids": []}Kabul edilen türler:
noneproductscollections
i. discount_for_variants
Bölüm başlığı “i. discount_for_variants”İndirimler varyant bazında yapılandırıldığında kullanılır.
apply_product.apply_for_variants == falseise boş olmalıdırapply_product.apply_for_variants == trueise 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ğivariant_pricing–trueolmalıdırvariants– Varyant dizisi
Her varyant şunları içerir:
id– Varyant kimliğidiscount_groups– İndirim yapılandırmaları dizisi
discount_groups kuralları
apply_customer.typedeğeriall,loggedveyanon-loggedise
→ Yalnızca bir öğeye izin verilirapply_customer.type == customer-tagsise
→ 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:
percentamountfixed-amount
Değer kuralları:
- 0’dan büyük bir sayı olmalıdır
- Tür
percentise değer 100’den küçük olmalıdır
j. apply_market (Zorunlu)
Bölüm başlığı “j. apply_market (Zorunlu)”Kuralın hangi Shopify pazarlarına uygulanacağını belirler.
Yapı:
"apply_market": { "type": "all", "handle": []}type
Kabul edilen değerler:
allspecific-market
handle
- Yalnızca
type == specific-marketolduğunda zorunludur - Virgülle ayrılmış pazar tanıtıcıları (handle) listesi
- Örnek:
["japan","us"]
k. discount_group
Bölüm başlığı “k. discount_group”İndirim varyant bazında yapılandırılmadığında kullanılır.
Şu durumlarda zorunludur:
apply_product.typedeğeriproductsdeğilse VEYAapply_product.type == productsolup varyantlar uygulanmıyorsa
Yapı:
"discount_group": { "type": "percent", "value": "10"}Kurallar:
typeşunlardan biri olmalıdır:percentamountfixed-amount
value- 0’dan büyük olmalıdır
- Tür
percentise değer 100’den küçük olmalıdır
l. active_date
Bölüm başlığı “l. active_date”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-15T10:00:00", "end_at": "2026-01-15T10:00:00"}types
- İsteğe bağlı
- Kabul edilen değerler:
start_date,end_date - Örnek:
["start_date","end_date"]
start_at
typesiçindestart_datevarsa zorunludur- Biçim:
YYYY-MM-DD HH:MM:SS
end_at
typesiçindeend_datevarsa zorunludur- Biçim:
YYYY-MM-DD HH:MM:SS
4. API yanıtı
Bölüm başlığı “4. API yanıtı”a. Hata yanıtları
Bölüm başlığı “a. Hata yanıtları”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 Update izni yok
- Her API anahtarı şu izinlere sahip olabilir: View, Create, Update, Delete
- Bu API için Update izni gerekir
- Girilen kimlik mevcut olmadığında da döndürülür
429 – Çok fazla istek
İstek sınırı aşıldı:
- En fazla 5 dakikada 1 istek
- En fazla günde 50 istek
b. Başarılı yanıt
Bölüm başlığı “b. Başarılı yanıt”200 – API başarılı
- Wholesale Pricing kaydı başarıyla güncellendi
- Yanıt JSON biçiminde döndürülür
Örnek yanıt JSON’u:
{ "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_at": "", "end_at": "" }, "created_at": "2026-01-15T10:00:00", "updated_at": "2026-01-15T10:00:00"}