Test Mağazaları (Development Stores)

Yayınlanmamış (taslak/incelemedeki) eklentini, sahibi olduğun bir test restoranında uçtan uca dene — tıpkı Shopify development stores gibi. Gerçek restoranlar yalnız onaylı/yayınlı eklentileri görür; yayınlanmamış eklenti yalnız senin kendi test mağazanda kurulabilir.

Kavram

  • Development store = portal'dan oluşturduğun, sahibi olduğun gerçek (ama "development" işaretli) bir Restomenum test restoranı.
  • Yayınlanmamış eklentin yalnız kendi test mağazanda kurulabilir (ownership gate) — müşteri restoranlarında asla.
  • Mağaza tam fonksiyonel gelir (demo menü/masa/ödeme) → hemen sipariş/masa/paket akışını test edebilirsin.
  • Yalnız DEV ortamında vardır; bu ortamda ücretlendirme kapalıdır (eklenti ücretsiz kurulur, checkout istenmez).

Uçtan uca test akışı

  1. Portal → Test Mağazaları → bir mağaza oluştur (e-posta + şifre belirle). Bir kez yeterli.
  2. Eklentini yaz, bir versiyon kaydet ve incelemeye göndermeden bırak (taslak). Eklentin registry'ye sync olur.
  3. restoyeni'ye (DEV) test mağazanın e-posta + şifresiyle gir.
  4. Yayınlanmamış eklentini kur — mağaza senin olduğu için onaysız olsa bile kurulur (ownership gate).
  5. OAuth connect → webhook / lifecycle / hook / (test) billing — tam gerçek akışı dene.
  6. Yeni sürüm kaydet → test mağazanda "güncelle" anında çıkar (incelemeye göndermeye gerek yok) → yükselt → test et.
  7. ⚠️ Manifest değişikliği kurulu mağazaya kendiliğinden inmez. Kurulumun UI anlık görüntüsü yalnız kurulum ve yükseltme anında üretilir — aynı sürümü yeniden kaydedersen mevcut kurulum eski nav/sayfa/buton metinleriyle kalır. Yeni etiketleri görmek için sürümü yükselt ya da eklentiyi kaldırıp yeniden kur. (Bu, sandbox origin’i ile karıştırılmasın: tünel adresi değişince URL’ler otomatik hizalanır, etiketler hizalanmaz.)
  8. Hazır olunca incelemeye gönder → admin onaylar → yayınlanır → gerçek restoranlara açılır.
oluştur (1 kez) → restoyeni'ye gir (email/şifre)
   → yayınlanmamış eklentini KUR (ownership: senin mağazan)
   → connect → webhook/lifecycle/hook/billing(test) → düzelt → tekrar test
   → incelemeye gönder → onay → published (gerçek restoranlara açılır)

Yerelde geliştir — sandbox origin’i

Test mağazası kurulumları da varsayılan olarak sürümde yazan yayın adresine teslim eder (webhook/connect/action + iframe sayfaları tek kayıtlı domainden türer). Yerelde çalışmak için sürümü tünele çevirmen gerekmez: eklenti sayfasındaki Sandbox origin’i alanına tünel adresini (ngrok, cloudflared…) yaz.

  • Yalnız sandbox teslimleri oraya gider; production etkilenmez.
  • Path’ler sürümden gelir — /webhook, /oauth/connect… aynı kalır, yalnız origin değişir.
  • Sürümü düzenlemez, yeniden incelemeye girmez; tünel adresin değişince tek alanı güncellersin.
  • Alanı boşaltmak override’ı kaldırır.
  • Aynı alan sürüm editöründe de var (uç noktaların hemen üstünde) — orada sayfanın Kaydet düğmesiyle birlikte yazılır ve sandbox URL’lerini canlı önizlersin.
Ayrıntı ve URL eşleme şeması: Ortamlar → Sandbox origin’i.

Yaşam döngüsü & yenileme

  • Her test mağazasının bir bitiş tarihi vardır (oluşturma/son giriş + 30 gün).
  • Portal'a her girişinde mağazaların otomatik 30 gün uzar (ekstra bir şey yapmazsın).
  • Uzun süre girmezsen süre dolar → test mağazasının paneli kapanır; tekrar giriş yapınca yeniden açılır.
  • Geliştirici başına en fazla 3 aktif test mağazası.

Sınırlar (mevcut faz)

  • Teslimler environment:"sandbox" taşır: test mağazandan gelen her imzalı gövdede (event/lifecycle/hook/action/capability) environment: "sandbox" alanı bulunur — gerçek mağaza teslimi "production"'dır. Test/gerçek ayrımını bu alanla yap (zarf referansı); X-Restomenum-Environment header'ı imzasız kolaylık kopyasıdır, gövdedekini kullan. Ortamın tüm yüzeyleri + depolama/kök seçimi: Ortamlar.
  • Ownership zorunlu: mağaza, test edeceğin eklentinin sahibiyle (developer) aynı hesaba ait olmalı — yoksa kurulum reddedilir.
  • Marketplace görünürlüğü: yayınlanmamış eklenti test mağazasının marketplace listesinde henüz görünmeyebilir; şimdilik pluginId ile / doğrudan kurulum ile kur.
  • Ücret yok: DEV'de billing kapalı → test mağazasında eklenti ücretsiz kurulur.