Yetkilendirme

BYNovax External Commerce API, scope tabanlı yetkilendirme kullanır. Authentication başarılı olduktan sonra her endpoint, API Client'ın gerekli scope yetkisine sahip olup olmadığını kontrol eder.

Bir credential geçerli olsa bile gerekli scope yetkisi yoksa istek 403 Forbidden ile reddedilir.
ScopeNe sağlar?İlgili işlemler
products:readÜrün, kategori ve marka verilerini okumaGET /products, GET /products/{product}, GET /categories, GET /categories/{category}, GET /brands
products:writeÜrün oluşturma ve ürün bilgilerini güncellemePOST /products, PATCH /products/{product}
inventory:readÜrün stok bilgisini okumaGET /inventory/{product}
inventory:writeÜrün, varyant ve toplu stok güncellemePATCH /inventory/{product}, PATCH /inventory/bulk, PATCH /products/{product}/variants/{variant}/inventory
pricing:readÜrün fiyat bilgisini okumaGET /prices/{product}
pricing:writeÜrün, varyant ve toplu fiyat güncellemePATCH /prices/{product}, PATCH /prices/bulk, PATCH /products/{product}/variants/{variant}/price
orders:readSipariş ve fatura bilgilerini okumaGET /orders, GET /orders/{order}, GET /invoices, GET /invoices/{invoice}, GET /orders/{order}/invoice
shipping:readSipariş gönderi bilgisini okumaGET /orders/{order}/shipment
shipping:writeSipariş takip / kargo bilgisini güncellemePUT /orders/{order}/tracking
webhooks:readTanımlı webhook endpointlerini listelemeGET /webhooks
webhooks:writeWebhook endpoint oluşturma ve silmePOST /webhooks, DELETE /webhooks/{webhook}

Scope nasıl çalışır?

  • Önce API credential doğrulanır.
  • Credential geçerliyse API Client'ın scope listesi okunur.
  • Çağrılan endpoint hangi scope'u gerektiriyorsa bu yetki kontrol edilir.
  • Gerekli scope varsa istek devam eder.
  • Gerekli scope yoksa 403 Forbidden döner.

Minimum yetki prensibi

  • Her entegrasyona yalnızca gerçekten ihtiyaç duyduğu scope'ları verin.
  • Sadece ürün okuyacak bir entegrasyona products:read yeterlidir.
  • Stok güncelleyecek bir entegrasyona inventory:write gerekir.
  • Kargo takip bilgisi gönderecek bir entegrasyona shipping:write gerekir.
  • Webhook oluşturacak bir entegrasyona webhooks:write gerekir.

Read ve Write ayrımı

  • read scope'ları yalnızca veri görüntüleme işlemleri içindir.
  • write scope'ları oluşturma veya güncelleme işlemlerini kapsar.
  • Bir read scope, aynı alanın write endpointlerine erişim sağlamaz.
  • Örneğin inventory:read ile stok görüntülenebilir ancak stok güncellenemez.

Sipariş yetkilendirmesi

  • External Commerce API V1 kapsamında sipariş okuma işlemleri orders:read ile korunur.
  • Fatura okuma endpointleri de orders:read kapsamında çalışır.
  • Kargo görüntüleme shipping:read ile korunur.
  • Tracking güncelleme shipping:write ile korunur.
  • External V1 kapsamında sipariş yazma scope'u bulunmaz.

Kategori ve marka yetkisi

  • Kategori ve marka endpointleri ürün katalog okuma kapsamındadır.
  • Bu nedenle categories ve brands endpointleri products:read scope'u ile korunur.

401 ve 403 farkı

  • 401 Unauthorized: credential eksik veya geçersizdir.
  • 403 Forbidden: credential geçerlidir ancak gerekli scope yetkisi yoktur.
  • Scope problemi yaşandığında API anahtarını değiştirmek yerine API Client yetkilerini kontrol edin.

Örnek: yalnızca ürün okuma

  • API Client sadece products:read scope'una sahipse GET /products çağrısı başarılı olabilir.
  • Aynı credential ile PATCH /inventory/{product} çağrısı yapılırsa inventory:write olmadığı için 403 döner.

Canlı scope listesi

  • products:read
  • products:write
  • inventory:read
  • inventory:write
  • pricing:read
  • pricing:write
  • orders:read
  • shipping:read
  • shipping:write
  • webhooks:read
  • webhooks:write