Private Apps

Private app, tek bir mağaza veya tenant için geliştirilen özel entegrasyondur. ERP, muhasebe, kargo, stok yönetimi, BI raporlama veya ajans içi otomasyonlar için en güvenli başlangıç modelidir.

Public app’ten farkı

ÖzellikPrivate appPublic app
KullanımTek tenantÇok tenant
YayınlamaMarketplace gerekmezReview ve publish gerekir
CredentialTenant admin üretirOAuth install akışı gerekir
ScopeTenant ihtiyacına göre seçilirReview ile onaylanır
En iyi kullanımÖzel entegrasyonÜrünleşmiş SaaS app

Oluşturma akışı

  1. Tenant admin panelinde Builders alanına girin.
  2. Private app oluşturun.
  3. Minimum scope setini seçin.
  4. Client secret üretin.
  5. Secret’ı güvenli kasaya alın.
  6. Token alın.
  7. İlk API isteğini gönderin.
  8. Gerekiyorsa webhook endpoint’i ekleyin.

Önerilen scope setleri

Sadece sipariş okuyan ERP:
orders:read
Ürün ve stok senkronizasyonu:
products:read
products:write
Webhook yöneten entegrasyon:
orders:read
webhooks:write
Storefront script yöneten app:
storefront_scripts:write

Credential yönetimi

Private app credential alanları:
oauth_client_id
oauth_client_secret_hash
oauth_client_secret_last_four
oauth_client_secret_generated_at
approved_scopes
Secret tekrar okunamaz. Kaybolursa rotate edilir.

Audit log

Private app işlemlerinde audit log zorunludur. Audit’e yazılması gereken kritik işlemler:
  • App oluşturma.
  • Scope değiştirme.
  • Client secret rotate.
  • Token üretme.
  • Token revoke.
  • Webhook ekleme/silme.
  • Storefront script ekleme/güncelleme/silme.

Tenant izolasyonu

Private app tenant dışına çıkamaz. Başka mağazanın token, webhook, script veya audit kaydına erişemez. Bu kural şu yüzeylerde uygulanır:
  • Panel sorguları.
  • API işlemleri.
  • Webhook delivery listesi.
  • Storefront script registry.
  • MCP tool çağrıları.

Production kontrol listesi

  • Scope minimum mu?
  • Secret güvenli saklanıyor mu?
  • Kullanılmayan token revoke edildi mi?
  • Webhook endpoint’i signature doğruluyor mu?
  • API response hataları loglanıyor ama token/secret loglanmıyor mu?
  • Tenant id hiçbir requestte elle override edilmiyor mu?