Geliştirme
Shopify App Store uygulaması geliştirme
App Store uygulaması tek bir mağazaya değil bütün mağazalara yazılır. İşin zor kısmı özellikte değil çerçevede: kurulum, yetkilendirme, faturalama ve zorunlu veri uçları Shopify'ın kendi kurallarına uymak zorunda.
Aynı ihtiyaç birden çok mağazada varsa ve bunu satmayı düşünüyorsanız doğru yol budur. Tek mağazaya özel bir işse özel yazılım hem daha hızlı hem daha ucuz olur.
Neleri kapsıyor
Yetkilendirme ve oturum
OAuth akışı, erişim kapsamlarının dar tutulması, oturum saklama ve yenileme. Geniş kapsam isteyen uygulama hem inceleme aşamasında geri döner hem mağaza sahibini tedirgin eder — istenen her kapsamın kullanıldığı yer gösterilebilmeli.
Gömülü arayüz
Yönetim panelinin içinde açılan arayüz. Panelin kendi görsel diliyle yazılır, oturum belirteci akışı App Bridge üzerinden yürür; müşteri uygulamadan çıktığını hissetmez.
Admin API ve toplu işlemler
Ürün, varyant, sipariş ve metafield okuma-yazma. Binlerce kayıtlık işler tek tek istekle değil toplu işlem uçlarıyla yürür; sorgu maliyeti ve hız limiti yönetimi ile kaldığı yerden devam etme baştan kurulur.
Webhook ve zorunlu uçlar
Sipariş, ürün ve uygulama kaldırma olayları için webhook; ayrıca üç zorunlu veri ucu: müşteri verisi talebi, müşteri verisi silme, mağaza verisi silme. Bu üçü olmadan uygulama yayına alınmıyor.
Faturalama
Abonelik ya da kullanım bazlı ücretlendirme Shopify'ın kendi faturalama API'si üzerinden kurulur; deneme süresi ve plan değişimi dahil. Dışarıdan ödeme almak kural ihlali.
Listeleme ve inceleme
Uygulama sayfasının metni, görselleri, kurulum akışının test edilmesi ve incelemeden dönen geri bildirimlerin kapatılması.
Binlerce ürünü tek istekle çekmek
mutation {
bulkOperationRunQuery(
query: """
{
products {
edges {
node {
id
title
variants { edges { node { id sku inventoryQuantity } } }
}
}
}
}
"""
) {
bulkOperation { id status }
userErrors { field message }
}
}
Toplu işlem sonucu JSONL dosyası olarak indirilir. Aynı veriyi sayfa sayfa çekmek hem hız limitini yakar hem yarıda kalırsa nereden devam edeceğini bilemezsin.
Nasıl yürüyor
- 01
Ne olduğunu ölçerim
İlk iş mevcut durumu rakamla tespit etmek. Hangi sayfada, hangi adımda, kaç kayıtta sorun var — bu bilinmeden yazılacak kod tahmine dayanır.
- 02
Kapsamı yazılı veririm
Ne yapılacağı, neyin dışarıda kaldığı ve teslim biçimi baştan yazılır. Sonradan büyüyen iş ikimize de pahalıya patlar.
- 03
Ayrı temada geliştiririm
Tema işleri yayınlanmamış bir kopyada yazılır, önizleme adresiyle doğrulanır, sonra canlıya alınır. Uygulama işlerinde geliştirme mağazası kullanılır.
- 04
Ölçerek teslim ederim
Teslimde “yapıldı” demek yetmez; öncesi ve sonrası aynı yöntemle ölçülür. Toplu veri işlerinde eski değerlerin yedeği ve geri alma script'i bırakılır.
Sık sorulanlar
Uygulama ne kadar sürede yayına girer?
Geliştirme süresi kapsama göre değişir. Yayın tarafında Shopify'ın kendi inceleme süreci var; süresi başvuruya göre değişiyor ve kimse tarafından garanti edilemez. Vakit kaybettiren şey genelde inceleme değil, incelemeden dönen eksikler oluyor.
Gömülü mü olmalı?
Yönetim paneli içinde çalışan uygulamalar hem daha çok kuruluyor hem listelemede avantajlı. Panelin dışında çalışmasını gerektiren özel bir durum yoksa gömülü yazıyorum.
Uygulama kaldırılınca veriye ne oluyor?
Kaldırma olayı webhook ile yakalanır, mağazanın verisi zorunlu süre içinde silinir. Bu hem kural gereği hem müşteriye açıkça söylenmesi gereken bir şey.
Kaynak kod kimde kalıyor?
App Store uygulamalarında kaynak bende kalır, siz aboneliği kullanırsınız. Kaynağın size geçmesi gereken işler mağazaya özel uygulama olarak yürür.
Diğer geliştirme alanları
Bu işin sizdeki karşılığı ne?
Mevcut durumu anlatın; ölçüp ne gerektiğini söyleyeyim.