Özel fiyatlı taslak sipariş oluşturma
draftOrderCreate ile teklif ya da B2B siparişi oluşturun: priceOverride ile varyant fiyatını değiştirin, kendi fiyatıyla özel satırlar ekleyin.
- API
- Admin GraphQL API
- İşlem
- draftOrderCreate
- Erişim yetkisi
- write_draft_orders
- Yerini aldığı REST çağrısı
- POST /admin/api/draft_orders.json
- API sürümü
- 2026-10
- Son kontrol
Kısaca
Pazarlıkla belirlenmiş bir fiyattan sipariş oluşturmak için draftOrderCreate’i lineItems ile çağırın. Katalog ürünleri için variantId ve yeni birim fiyatı içeren priceOverride verin. Katalog dışındaki her şey için variantId’yi atlayıp title, quantity ve originalUnitPriceWithCurrency verin. Taslak, müşterinin ödeme yapabileceği bir invoiceUrl döndürür; draftOrderComplete ise taslağı doğrudan siparişe çevirir.
Nasıl kullanılır
- Katalog ürünlerini variantId, quantity ve taslağın para biriminde priceOverride ile listeleyin.
- Hizmet, ücret gibi özel kalemleri title, quantity, originalUnitPriceWithCurrency, taxable ve requiresShipping ile ekleyin.
- CreateQuote’u gönderin ve userErrors’ı kontrol edin.
- Müşteriye invoiceUrl’yi ya da draftOrderInvoiceSend ile fatura e-postasını gönderin; ödeme başka yerde alındıysa taslağı draftOrderComplete ile tamamlayın.
Kod
draft-order-create.graphqlmutation CreateQuote($input: DraftOrderInput!) {
draftOrderCreate(input: $input) {
draftOrder {
id
name
invoiceUrl
totalPriceSet {
presentmentMoney {
amount
currencyCode
}
}
lineItems(first: 10) {
nodes {
title
quantity
custom
originalUnitPriceWithCurrency {
amount
currencyCode
}
}
}
}
userErrors {
field
message
}
}
}
draft-order-create.variables.json{
"input": {
"email": "buyer@example.com",
"note": "Wholesale quote, valid for 14 days",
"tags": ["quote"],
"lineItems": [
{
"variantId": "gid://shopify/ProductVariant/1111111111",
"quantity": 20,
"priceOverride": {"amount": "35.00", "currencyCode": "EUR"}
},
{
"title": "Custom embroidery",
"quantity": 20,
"originalUnitPriceWithCurrency": {"amount": "4.50", "currencyCode": "EUR"},
"requiresShipping": false,
"taxable": true
}
]
}
}
draft-order-create.response.json{
"data": {
"draftOrderCreate": {
"draftOrder": {
"id": "gid://shopify/DraftOrder/1234567890",
"name": "#D12",
"invoiceUrl": "https://your-store.myshopify.com/1234567890/invoices/abcdef0123456789",
"totalPriceSet": {
"presentmentMoney": {
"amount": "790.00",
"currencyCode": "EUR"
}
},
"lineItems": {
"nodes": [
{"title": "Linen shirt", "quantity": 20, "custom": false, "originalUnitPriceWithCurrency": {"amount": "49.00", "currencyCode": "EUR"}},
{"title": "Custom embroidery", "quantity": 20, "custom": true, "originalUnitPriceWithCurrency": {"amount": "4.50", "currencyCode": "EUR"}}
]
}
},
"userErrors": []
}
}
}
Lintel tarafından yazıldı. MIT lisansı: kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.
Sınırlar ve özel durumlar
- priceOverride katalog fiyatının yerini alır; appliedDiscount ise orijinal fiyatı koruyup satıra indirim ekler.
- variantId verildiğinde originalUnitPriceWithCurrency dikkate alınmaz ve bir taslaktaki tüm fiyatlar taslağın para biriminde olmalıdır.
- reserveInventoryUntil vermezseniz taslak siparişler stok ayırmaz.
- Fiyat geçersiz kılma (price override) bundle bileşenlerine uygulanamaz.
Sık sorulan sorular
- Shopify’da bir müşteriye özel fiyat nasıl verilir?
- Satırda priceOverride olan bir taslak sipariş oluşturup müşteriye fatura linkini gönderin. Kalıcı B2B fiyatları için bunun yerine katalog ve fiyat listelerini kullanın.
- Taslak siparişe özel bir satır nasıl eklenir?
- variantId’yi atlayıp title, quantity ve originalUnitPriceWithCurrency verin. requiresShipping ve taxable alanlarını ihtiyaca göre ayarlayın.
- priceOverride ile appliedDiscount arasındaki fark nedir?
- priceOverride yeni bir birim fiyat belirler. appliedDiscount orijinal fiyatı korur ve satıra sabit tutarlı ya da yüzdelik bir indirim uygular.
Shopify belgeleri
- Gösterilen tarihte, 2026-10 sürümünün Admin veya Storefront API şemasıyla doğrulandı. İstek adresinizdeki sürümü kontrol edin.
- Örneklerdeki ID’ler ve mağaza adresleri yer tutucudur. Kendi değerlerinizle değiştirin.
- Admin API çağrıları uygulamanızdan bir erişim anahtarı (access token) ister. Admin API anahtarını asla vitrine ya da temaya koymayın.
- MIT lisansı. Kodu kendi mağazanızda da müşteri işlerinizde de kullanabilirsiniz.
Mağazanız için kurulmasını, test edilmesini ve bakımını isterseniz: API entegrasyonları.
