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 API'lerinizi Apidog ile test edin - ücretsiz
Bu kılavuzun sonunda şunları yapabileceksiniz:
- BigCommerce kimlik doğrulamasını doğru şekilde ayarlama
- Ürünleri, varyantları ve envanteri yönetme
- Siparişleri işleme ve müşteri verilerini yönetme
- Gerçek zamanlı güncellemeler için webhook'ları ayarlama
- Entegrasyonlarınızı Apidog ile test etme ve belgeleme
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:
- Mağazanızın yönetim paneline gidin
- Ayarlar → API Hesapları → API Hesabı Oluştur
- “V3/V2 API Token” seçeneğini seçin
- İhtiyacınız olan kapsamları seçin (Ürünler, Siparişler, Müşteriler vb.)
- Kimlik bilgilerini kaydedin
Şunları alacaksınız:
- Mağaza URL'si:
mystore.mybigcommerce.com - Erişim Token'ı:
abc123def456... - Müşteri Kimliği:
abc123... - Müşteri Sırrı:
xyz789...
İ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ışı:
- Kullanıcı, pazar yerindeki uygulamanızda “Yükle”ye tıklar
- BigCommerce, bir yetkilendirme kodu ile geri arama URL'nize yönlendirir
- Sunucunuz kodu bir erişim token'ı ile değiştirir
- 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:
- 0: Tamamlanmamış
- 11: Sipariş Karşılaması Bekleniyor
- 12: Tamamlandı
- 5: İptal Edildi
- 4: İade Edildi
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:
store/order/created- Yeni sipariş verildistore/order/updated- Sipariş durumu değiştistore/order/archived- Sipariş arşivlendistore/product/created- Ürün eklendistore/product/updated- Ürün değiştirildistore/product/deleted- Ürün kaldırıldıstore/customer/created- Yeni müşteristore/inventory/updated- Stok değişti
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:
X-Auth-Tokenbaşlığınızın ayarlı olduğunu kontrol edin- Token'ın iptal edilmediğini doğrulayın
- API hesabının doğru kapsamlara sahip olduğundan emin olun
403 Yasak
Neden: Token geçerli ancak gerekli kapsam eksik.
Düzeltme:
- API hesabı izinlerinizi kontrol edin
- Eksik kapsamı ekleyin (Ürünler, Siparişler vb.)
- Genişletilmiş izinlere sahip yeni bir token oluşturun
404 Bulunamadı
Neden: Yanlış uç nokta veya kaynak mevcut değil.
Düzeltme:
- Mağaza hash'inin doğru olduğunu doğrulayın
- URL'deki API sürümünü kontrol edin (v2 vs v3)
- 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:
- Kimlik doğrulama, API token'ları (basit entegrasyonlar) veya OAuth (pazar yeri uygulamaları) kullanır.
- V3 Katalog API'si ürünleri ve varyantları yönetir.
- V2 Orders API sipariş işleme ve karşılamayı yönetir.
- V3 Customers API müşteri verilerini yönetir.
- Webhook'lar gerçek zamanlı güncellemeleri uç noktalarınıza iletir.
- Güvenilir entegrasyonlar için Apidog ile test edin ve belgeleyin.
Sonraki adımlarınız:
- BigCommerce mağazanızda bir API hesabı oluşturun
- Ürünleri listelemek için ilk API çağrınızı yapın
- Sipariş oluşturma için bir webhook ayarlayın
- API çağrılarınızı Apidog'a kaydedin
- 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.
