BigCommerce API Kullanımı: E-Ticaret Entegrasyonu Geliştirici Rehberi

Ashley Innocent

Ashley Innocent

24 March 2026

BigCommerce API Kullanımı: E-Ticaret Entegrasyonu Geliştirici Rehberi

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Kısaca

BigCommerce API'leri, ürünleri, siparişleri, müşterileri ve mağaza operasyonlarını programatik olarak yönetmenizi sağlar. API token'ları (sunucu tarafı için) veya OAuth (uygulamalar için) ile kimlik doğrulaması yapar, api.bigcommerce.com adresindeki REST uç noktalarını çağırır ve gerçek zamanlı güncellemeler için webhook'ları yönetirsiniz. Test için, API çağrılarınızı kaydetmek, yanıtları doğrulamak ve koleksiyonları ekibinizle paylaşmak için Apidog'u kullanın.

Giriş

BigCommerce, 60.000'den fazla çevrimiçi mağazaya güç vermektedir. Her biri özel entegrasyonlara ihtiyaç duyar - envanter senkronizasyonu, sipariş işleme, müşteri yönetimi, ödeme yönetimi. İşte bu noktada API'ler devreye girer.

Platform üç API türü sunar: Storefront API (headless ticaret), Management API (arka uç işlemleri) ve Payments API (işlemler). Çoğu geliştirici Management API ile çalışır. Ürünleri, siparişleri, müşterileri ve sahne arkasında gerçekleşen her şeyi yönetir.

Öğrenme eğrisi dik değildir, ancak belgeleme bunaltıcı gelebilir. Basit bir görevi tamamlamak için kendinizi kimlik doğrulama belgeleri, API referansları ve webhook rehberleri arasında gezinirken bulursunuz.

Bu kılavuz, gerçekten kullanacağınız şeylere odaklanıyor: Ürünler, siparişler, müşteriler ve webhook'lar. Kimlik doğrulamasını, yaygın desenleri ve entegrasyonlarınızı canlı bir mağazaya dokunmadan önce nasıl test edeceğinizi öğreneceksiniz.

💡
BigCommerce entegrasyonları geliştiriyorsanız, Apidog bu API çağrılarını tasarlamanıza, test etmenize ve belgelemenize yardımcı olur. İstekleri koleksiyonlar olarak kaydedin, farklı mağazalar için ortam değişkenleri kullanın ve yanıtların beklenen şemalarla eşleştiğini doğrulayın. Gerçek müşterileri etkilemeden hataları yakalar.
button

BigCommerce API'lerinizi Apidog ile test edin - ücretsiz

Bu kılavuzun sonunda şunları yapabileceksiniz:

Kimlik Doğrulama: mağazanıza erişim

BigCommerce, ne geliştirdiğinize bağlı olarak iki kimlik doğrulama yöntemi sunar.

Yöntem 1: API Token'ları (özel entegrasyonlar için)

Tek bir mağaza ile çalışan bir komut dosyası veya hizmet geliştiriyorsanız, API token'larını kullanın.

Bir API hesabı oluşturun:

  1. Mağazanızın yönetim paneline gidin
  2. Ayarlar → API Hesapları → API Hesabı Oluştur
  3. “V3/V2 API Token” seçeneğini seçin
  4. İhtiyacınız olan kapsamları seçin (Ürünler, Siparişler, Müşteriler vb.)
  5. Kimlik bilgilerini kaydedin

Şunları alacaksınız:

İlk çağrınızı yapın:

curl -X GET "https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products" \
  -H "X-Auth-Token: {access-token}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

`store-hash`, API yolunuzdaki `/stores/` kısmından sonraki bölümdür. Mağazanızın yönetici URL'sinde de görünür.

Yöntem 2: OAuth (pazar yeri uygulamaları için)

BigCommerce pazar yeri için bir uygulama geliştiriyorsanız, OAuth kullanın.

OAuth akışı:

  1. Kullanıcı, pazar yerindeki uygulamanızda “Yükle”ye tıklar
  2. BigCommerce, bir yetkilendirme kodu ile geri arama URL'nize yönlendirir
  3. Sunucunuz kodu bir erişim token'ı ile değiştirir
  4. Gelecekteki API çağrıları için token'ı saklayın

Kodu token ile değiştirin:

const response = await fetch('https://login.bigcommerce.com/oauth2/token', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    client_id: process.env.BC_CLIENT_ID,
    client_secret: process.env.BC_CLIENT_SECRET,
    redirect_uri: 'https://yourapp.com/auth/callback',
    grant_type: 'authorization_code',
    code: authCode,
    scope: 'store_v2_default store_v3_products'
  })
})

const { access_token, context } = await response.json()
// access_token API çağrıları için kullandığınız token'dır
// context store_hash içerir

Token'ı kullanın:

curl -X GET "https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products" \
  -H "X-Auth-Token: {access-token}" \
  -H "Content-Type: application/json"

Ürünler ve katalog yönetimi

Ürünler, herhangi bir BigCommerce mağazasının kalbidir. V3 Katalog API'si ürünleri, varyantları, kategorileri ve markaları yönetir.

Ürünleri listele

GET https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products
X-Auth-Token: {token}
Accept: application/json

Yanıt:

{
  "data": [
    {
      "id": 174,
      "name": "Plain T-Shirt",
      "type": "physical",
      "sku": "PLAIN-T",
      "price": 29.99,
      "sale_price": 24.99,
      "inventory_level": 150,
      "inventory_tracking": "product",
      "is_visible": true,
      "categories": [23, 45],
      "brand_id": 12
    }
  ],
  "meta": {
    "pagination": {
      "total": 500,
      "count": 50,
      "page": 1,
      "per_page": 50
    }
  }
}

Bir ürün oluştur

POST https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products
X-Auth-Token: {token}
Content-Type: application/json

{
  "name": "Premium Hoodie",
  "type": "physical",
  "sku": "HOODIE-PREM",
  "price": 79.99,
  "description": "Premium pamuk karışımlı kapüşonlu sweatshirt",
  "weight": 1.5,
  "width": 20,
  "height": 28,
  "depth": 2,
  "inventory_level": 100,
  "inventory_tracking": "product",
  "is_visible": true,
  "categories": [23]
}

Ürün varyantlarını güncelle

Seçenekleri (boyut, renk) olan ürünlerin varyantları vardır. Her varyantın kendi SKU'su, fiyatı ve envanteri olabilir.

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/variants/{variant-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "sku": "HOODIE-PREM-BLK-M",
  "price": 79.99,
  "inventory_level": 50,
  "option_values": [
    {
      "option_display_name": "Color",
      "label": "Black"
    },
    {
      "option_display_name": "Size",
      "label": "Medium"
    }
  ]
}

Envanteri yönet

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "inventory_level": 75
}

Veya varyant envanterini güncelleyin:

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/variants/{variant-id}
Content-Type: application/json

{
  "inventory_level": 25
}

Siparişler ve sipariş karşılaması

İşlerin döndüğü yer siparişlerdir. Orders V2 API, sipariş oluşturmayı, güncellemeleri ve karşılamayı yönetir.

Siparişleri listele

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders
X-Auth-Token: {token}
Accept: application/json

Yanıt:

[
  {
    "id": 115,
    "status": "Awaiting Fulfillment",
    "status_id": 11,
    "customer_id": 45,
    "date_created": "2026-03-24T10:30:00+00:00",
    "subtotal_ex_tax": 149.99,
    "total_inc_tax": 162.49,
    "items_total": 2,
    "items_shipped": 0,
    "shipping_address": {
      "first_name": "John",
      "last_name": "Doe",
      "street_1": "123 Main St",
      "city": "Austin",
      "state": "Texas",
      "zip": "78701",
      "country": "United States"
    }
  }
]

Sipariş detaylarını al

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}
X-Auth-Token: {token}

Sipariş ürünlerini al

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}/products
X-Auth-Token: {token}

Sipariş durumunu güncelle

PUT https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "status_id": 12
}

Yaygın durum kimlikleri:

Bir gönderi oluştur (sipariş karşılaması)

POST https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}/shipments
X-Auth-Token: {token}
Content-Type: application/json

{
  "tracking_number": "1Z999AA10123456784",
  "carrier": "UPS",
  "shipping_method": "UPS Ground",
  "items": [
    {
      "order_product_id": 234,
      "quantity": 1
    }
  ]
}

Müşteriler ve segmentasyon

Customers V3 API, müşteri verilerini, adreslerini ve müşteri gruplarını yönetir.

Müşterileri listele

GET https://api.bigcommerce.com/stores/{store-hash}/v3/customers
X-Auth-Token: {token}
Accept: application/json

Yanıt:

{
  "data": [
    {
      "id": 45,
      "email": "john.doe@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "company": "Acme Corp",
      "phone": "512-555-1234",
      "customer_group_id": 1,
      "notes": "VIP customer",
      "tax_exempt_category": "",
      "date_created": "2025-11-15T09:30:00+00:00",
      "date_modified": "2026-03-20T14:22:00+00:00"
    }
  ]
}

Bir müşteri oluştur

POST https://api.bigcommerce.com/stores/{store-hash}/v3/customers
X-Auth-Token: {token}
Content-Type: application/json

{
  "email": "jane.smith@example.com",
  "first_name": "Jane",
  "last_name": "Smith",
  "phone": "512-555-5678",
  "customer_group_id": 2
}

Müşteriyi güncelle

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/customers/{customer-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "notes": "Tekrarlayan müşteri - öncelikli destek",
  "customer_group_id": 3
}

Gerçek zamanlı güncellemeler için Webhook'lar

Webhook'lar, bir mağazada olaylar meydana geldiğinde uygulamanızı bilgilendirir. Sorgulama yapmak yerine, BigCommerce veriyi uç noktalarınıza iletir.

Bir webhook oluştur

POST https://api.bigcommerce.com/stores/{store-hash}/v3/hooks
X-Auth-Token: {token}
Content-Type: application/json

{
  "scope": "store/order/created",
  "destination": "https://yourapp.com/webhooks/orders",
  "is_active": true
}

Mevcut kapsamlar:

Webhook imzalarını doğrula

BigCommerce, webhook'ları imzalayarak bunların meşru olduğunu doğrulayabilmenizi sağlar:

import crypto from 'crypto'

function verifyWebhook(payload, signature, secret) {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex')
  
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  )
}

app.post('/webhooks/orders', (req, res) => {
  const signature = req.headers['x-bc-webhook-signature']
  const payload = JSON.stringify(req.body)
  
  if (!verifyWebhook(payload, signature, process.env.BC_CLIENT_SECRET)) {
    return res.status(401).send('Geçersiz imza')
  }
  
  // Webhook'u işle
  console.log('Sipariş oluşturuldu:', req.body.data.id)
  res.status(200).send('OK')
})

BigCommerce API'lerini Apidog ile test etme

BigCommerce API'leri tutarlı başlıklar ve doğru kimlik doğrulama gerektirir. Curl ile manuel test yapmak zahmetli hale gelir. Apidog bunu kolaylaştırır.

1. Ortam kurulumu

Her mağaza için ortamlar oluşturun:

# Üretim Mağazası
STORE_HASH: abc123
ACCESS_TOKEN: xyz789
BASE_URL: https://api.bigcommerce.com/stores/abc123

# Sahneleme Mağazası
STORE_HASH: staging456
ACCESS_TOKEN: staging_token
BASE_URL: https://api.bigcommerce.com/stores/staging456

2. Ön-istek komut dosyaları

Kimlik doğrulama başlıklarını otomatik olarak ekleyin:

pm.request.headers.add({
  key: 'X-Auth-Token',
  value: pm.environment.get('ACCESS_TOKEN')
})
pm.request.headers.add({
  key: 'Accept',
  value: 'application/json'
})

3. Yanıtları doğrula

Ürünlerin gerekli alanlara sahip olduğunu test edin:

pm.test('Ürünlerin gerekli alanları var', () => {
  const response = pm.response.json()
  response.data.forEach(product => {
    pm.expect(product).to.have.property('id')
    pm.expect(product).to.have.property('name')
    pm.expect(product).to.have.property('price')
    pm.expect(product.price).to.be.above(0)
  })
})

pm.test('Sayfalandırma çalışıyor', () => {
  const response = pm.response.json()
  pm.expect(response.meta.pagination).to.have.property('total')
  pm.expect(response.meta.pagination.page).to.eql(1)
})

BigCommerce API'lerini Apidog ile test edin - ücretsiz

Yaygın hatalar ve düzeltmeler

401 Yetkilendirilmemiş

Neden: Geçersiz veya eksik erişim token'ı.

Düzeltme:

  1. X-Auth-Token başlığınızın ayarlı olduğunu kontrol edin
  2. Token'ın iptal edilmediğini doğrulayın
  3. API hesabının doğru kapsamlara sahip olduğundan emin olun

403 Yasak

Neden: Token geçerli ancak gerekli kapsam eksik.

Düzeltme:

  1. API hesabı izinlerinizi kontrol edin
  2. Eksik kapsamı ekleyin (Ürünler, Siparişler vb.)
  3. Genişletilmiş izinlere sahip yeni bir token oluşturun

404 Bulunamadı

Neden: Yanlış uç nokta veya kaynak mevcut değil.

Düzeltme:

  1. Mağaza hash'inin doğru olduğunu doğrulayın
  2. URL'deki API sürümünü kontrol edin (v2 vs v3)
  3. Kaynak kimliğinin mevcut olduğundan emin olun

429 Çok Fazla İstek

Neden: Oran sınırı aşıldı.

Düzeltme: BigCommerce, uç nokta başına farklı sınırlar belirler. Ürünler: 10.000 istek/saat. Siparişler: 30.000 istek/saat. X-Rate-Limit-Remaining başlığını kontrol edin ve bir geri çekilme (backoff) uygulayın.

async function callWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fn()
    if (response.status === 429) {
      const retryAfter = response.headers.get('X-Rate-Limit-Reset')
      await new Promise(r => setTimeout(r, retryAfter * 1000))
    } else {
      return response
    }
  }
}

422 İşlenemeyen Varlık

Neden: İstek gövdesinde doğrulama hatası.

Düzeltme: Ayrıntılar için yanıtı kontrol edin. BigCommerce belirli doğrulama hataları döndürür:

{
  "errors": {
    "price": "Fiyat sıfırdan büyük olmalıdır",
    "sku": "SKU zaten mevcut"
  }
}

Alternatifler ve karşılaştırmalar

Özellik BigCommerce Shopify WooCommerce
API sürümleme V2 ve V3 REST ve GraphQL REST
Oran sınırlamaları 10K-30K/saat 2/dk (sızıntılı kova) Barındırmaya bağlı
Webhook'lar Evet Evet Evet (eklenti)
GraphQL Hayır Evet Hayır
SDK kalitesi İyi Mükemmel Yalnızca PHP
Çoklu mağaza Evet Hayır Hayır

BigCommerce'ın V3 API'si, Shopify'ın parçalı yaklaşımından daha tutarlıdır, ancak Shopify'ın GraphQL API'si karmaşık sorgular için daha fazla esneklik sunar.

Gerçek dünya kullanım senaryoları

Çok kanallı envanter senkronizasyonu. Bir marka BigCommerce, Amazon ve fiziksel mağazalarda satış yapıyor. Ürünler API'sini kullanarak kanallar arası envanter seviyelerini senkronize eder, fazla satışı önlerler. Apidog, her dağıtımdan önce senkronizasyon uç noktalarını test eder.

Sipariş otomasyonu. Bir abonelik kutusu şirketi, siparişler oluşturulduğunda sipariş karşılamayı tetiklemek için webhook'lar kullanır. Orders API takip numaralarını günceller. Depoları, webhook işleyicileri aracılığıyla otomatik olarak toplama listeleri alır.

Müşteri segmentasyonu. Bir e-ticaret sitesi, satın alma geçmişine göre müşterileri segmentlere ayırmak için Customers API'yi kullanır. VIP müşteriler, özel fiyatlandırma ile özel bir gruba eklenir. Entegrasyon, zamanlanmış bir görev aracılığıyla haftalık olarak çalışır.

Sonuç

İşte öğrendikleriniz:

Sonraki adımlarınız:

  1. BigCommerce mağazanızda bir API hesabı oluşturun
  2. Ürünleri listelemek için ilk API çağrınızı yapın
  3. Sipariş oluşturma için bir webhook ayarlayın
  4. API çağrılarınızı Apidog'a kaydedin
  5. Entegrasyonunuzu oluşturun

BigCommerce API'lerini Apidog ile test edin - ücretsiz

Sıkça Sorulan Sorular

V2 ve V3 API'leri arasındaki fark nedir?V3, daha yeni ve daha tutarlı bir API'dir. Ürünler, kategoriler, markalar ve müşteriler için kullanın. V2, henüz geçişi yapılmamış siparişleri yönetir. Çoğu entegrasyonda her ikisini de kullanacaksınız.

Mağaza hash'imi nasıl alırım?BigCommerce yönetici URL'nizde bulunur: https://store-abc123.mybigcommerce.com/manage. `abc123` kısmı mağaza hash'inizdir. API hesap ayarlarında da görünür.

API'yi deneme mağazasında kullanabilir miyim?Evet. BigCommerce deneme mağazaları tam API erişimine sahiptir. Bu, canlıya geçmeden önce geliştirme ve test için mükemmeldir.

API çağrıları için oran sınırı nedir?Uç noktaya bağlıdır. Ürünler: 10.000 istek/saat. Siparişler: 30.000 istek/saat. Mevcut limitinizi görmek için yanıt başlıklarındaki X-Rate-Limit-Remaining öğesini kontrol edin.

Sayfalandırmayı nasıl yönetirim?`page` ve `limit` sorgu parametrelerini kullanın. Varsayılan limit 50'dir. Toplam sayfa sayısını öğrenmek için yanıtlardaki `meta.pagination` öğesini kontrol edin. Tüm kayıtları çekene kadar döngü yapın.

let allProducts = []
let page = 1

while (true) {
  const response = await fetch(
    `${baseUrl}/v3/catalog/products?page=${page}&limit=100`,
    { headers: { 'X-Auth-Token': token } }
  )
  const data = await response.json()
  allProducts.push(...data.data)
  
  if (page >= data.meta.pagination.total_pages) break
  page++
}

API aracılığıyla ürün görselleri yükleyebilir miyim?Evet. Ürün görselleri uç noktasını kullanın:

POST https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/images
Content-Type: application/json

{
  "image_url": "https://example.com/image.jpg",
  "is_thumbnail": true
}

Para birimini ve çoklu mağazayı nasıl yönetirim?BigCommerce mağazalarının bir taban para birimi vardır. Çoklu para birimi API düzeyinde değil, vitrin düzeyinde yönetilir. Birden fazla mağaza için ayrı API hesapları oluşturun ve Apidog'da farklı ortamlar kullanın.

Webhook uç noktam kapalıysa ne olur?BigCommerce, başarısız olan webhook'ları üstel geri çekilme ile yeniden dener. 24 saat içinde 5 başarısızlıktan sonra webhook devre dışı bırakılır. Uç noktalarınızı izleyin ve hatalarda uyarı alın.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin