Kendiniz yapmaya karar verdiyseniz, site dışında yazılması gerekenlerin listesi bu. Bu, kendi geliştirmenize karşı bir argüman değil - kimsede olmayan mekaniğiniz varsa o yol doğrudur. Bu, tarihi yalnızca görünen parçayı değil her parçayı bildikten sonra vermek gerektiğine dair bir argüman.
Vitrin küçük yarısıdır
Katalog, hizmet sayfası, sepet, müşteri hesabı, sipariş geçmişi. Modern bir çatı üzerinde bunlar gerçekten aylar değil haftalar sürer, «bir ayda panel» lafının inandırıcı gelmesinin sebebi de tam bu. Bundan sonrası, işaretlemede görünmeyen kısım.
İlk beklenmedik parça kataloğun kendisi. Sağlayıcının hizmeti bir ad ve bir fiyat değildir: asgari ve azami miktarı, adımı, türü, bağlantı gereksinimleri ve kendi kuralları vardır. Sağlayıcıda bin hizmet, sizde yenilemeniz, üzerine kâr koymanız ve sağlayıcı kaldırdığında kapatmanız gereken bin satır olur. Elle yazılmış katalog bir hafta kadar dayanır; ondan sonra aktarım ve eşitleme gerekir. Satan bir ürün yelpazesi nasıl kurulur, SMM panelinin hizmet kataloğu yazısında.
Sağlayıcı köprüsü: benzer, aynı değil
Neredeyse her sağlayıcı API\'sini aynı üslupta açar: tek uç nokta, bir action parametresi, gövdede bir anahtar. Bu, URL\'i değişebilen tek bir istemci sınıfının yeteceği izlenimini verir. Pratikte farklar hemen başlar.
- Hizmet türü setleri farklı: bazı siparişler bir bağlantı ve miktar, bazıları yorum, kullanıcı adı, abonelik ya da zamanlama ister.
- Hata biçimleri farklı: burada bir
errormetni, orada bir HTTP kodu, kötü gününde olan bir sağlayıcıdan JSON yerine HTML. - Hız sınırları farklı, ve aştığınızda davranışları da farklı.
- Durum adları farklı, kısmi teslimin ne demek olduğuna dair fikirleri de.
Buradan ilk mimari karar çıkar: kendi iç sipariş biçiminiz artı sağlayıcı başına bir adaptör. Bunu atlarsanız ikinci sağlayıcı kodunuza koşullar serpecek, üçüncüsü ise her değişikliği tehlikeli hâle getirecek. Hizmet türleri ve bağlantı ile miktarın neden yetmediği için sağlayıcının hizmet türleri yazısına bakın.
Sevk düzeneği: her şeyin kırıldığı yer
Sipariş, düğmeye basıldığı anda yaşamaz - sonraki günler boyunca yaşar. Bitmemiş siparişleri dolaşan, durumlarını soran, kendi durumlarınızı güncelleyen, teslim edilmeyeni iade eden ve bunu siz uyurken yapan bir şeyin olması gerekir.
- Çifte gönderim. Müşteri iki kez tıklar ya da bir iş hatadan sonra yeniden denenir, sağlayıcı iki sipariş alır, siz bir tanesinin parasını almışsınızdır. Çözüm sağlayıcıya güvenmek değil, kendi kodunuzda bir eşsizlik anahtarıdır.
- Kaybolan kimlik. Sipariş çıktı, yanıt zaman aşımına düştü. Sağlayıcıda sipariş var, sizde yok. Bir mutabakat rutini olmadan bu doğrudan zarardır.
- Naif yoklama. Bin aktif siparişi her dakika tek tek yoklamak bin çağrı ve hız sınırı yasağı demektir. Toplu durum çağrıları ve yeni ile eski siparişler için ayrı aralıklar gerekir.
- İadesiz Partial. Sağlayıcı yarısını teslim etti, kalanını bakiyenize döndürdü, ama müşteri parasının geri geldiğini hiç görmedi. Bu bir muhasebe ayrıntısı değil, bir anlaşmazlık ve bir ters ibraz.
Her durumun ne anlama geldiği ve panelin onunla ne yapması gerektiği SMM panelinde sipariş durumları yazısında.
Para: hata payı olmayan tek parça
Müşteri bakiyesi bir tablodaki kolon değildir - kolonun kendisinden türetildiği bir defterdir. Yalnızca güncel sayıyı saklarsanız, ilk çift kayıt kazanamayacağınız bir tartışmaya dönüşür.
Yazılacak asgari şeyler: işlem günlüğü, kasa webhook\'larından yüklemeler, iki kez para eklemeyen tekrarlanan webhook\'lar, iz bırakan elle operatör düzeltmeleri ve iadeler. Üstüne, iki siparişin aynı bakiyeden aynı anda düşmesi yarışına karşı koruma. Kasaların kendisini bağlamak ayrı bir iş, o SMM panelinde ödeme kabul etme yolları yazısında.
Kimsenin hesabına katmadığı tesisat
Sonra demoda görünmeyen ama olmadan paneli müşterinin önüne koyamayacağınız her şey gelir: kayıt ve şifre kurtarma, spam\'e düşmeyen kendi alan adınızdan posta, sertifikası ve otomatik yenilemesi olan bir alan adı, geri yükleme denenmiş yedekler, açık formlarda bot koruması, destek talepleri, operatör rolleri, para çekme ve promo kodlarında dolandırıcılık önleme, ve tartışmalı bir siparişi kapatmaya yetecek kadar iyi günlükler. Her kalem saatlerden günlere, ve toplamı vitrinden ağır gelir.
Yük ve saldırıları da hesaba katın: paneller düzenli olarak şifre denemeleri ve çöp trafik çeker, ve bununla açılıştan sonra değil önce ilgilenmek daha iyidir. Bakın: SMM paneli güvenliği.
Ne kadar sürer ve ne zaman kendini öder
Deneyimli tek bir geliştirici için dürüst aralık: vitrin ve katalog haftalar, köprü ve sevk düzeneği bir ay ya da fazlası, para ve tesisat bir o kadar daha. Ardından kalıcı bakım, çünkü başkalarının API\'leri değişmeye devam eder - bu bitiş tarihi olan bir proje değil, bir iş.
Kendi geliştirmeniz iki durumda kendini öder: kimsede olmayan bir mekaniğiniz var ve iş de o mekaniktir; ya da hacminiz kiradan tasarrufun bir ekibin maliyetini aşacağı kadar büyüktür. Diğer her durumda önce hazır bir platformda açılmak, gerçek siparişleri toplamak ve neyin gerçekten eksik olduğunu öğrenmek daha akıllıdır - kendi motorunuzun gereksinimlerini sonra tahminlerden değil o veriden yazarsınız. Yolların tam karşılaştırması SMM paneli nasıl kurulur yazısında, ve talebi sınamak hiçbir şeye mal olmaz: kendi kataloğumuzdan giden siparişler hiç faturalandırılmaz, üçüncü taraf sağlayıcılarda ise ayda ilk 100 sipariş ücretsizdir.