Ticimax mağazaları için uygulama projelerinde işin zor tarafı arayüz değil, veri. Ekranları çizmek her altyapıda birbirine benzer; Ticimax'i ayıran şey uygulamanın veriyi hangi yoldan aldığı ve o yolun kendine has davranışları. Bu davranışları bilmeden başlanan projelerde takvim, kod yazarken değil hata ararken kayıyor.

Aşağıda Ticimax tarafının gerçek resmini anlatıyoruz: servisler nasıl çalışır, filtreler neden sessizce yok sayılır, katalog neden doğrudan uygulamaya bağlanmaz, üyelik nasıl ortak kalır ve fiyatı hangi kalemler belirler. Teknoloji seçimi, mağaza inceleme süreci ve red sebepleri gibi ortak başlıklar mobil uygulama yaptırma rehberinde yazılı.

Ticimax mobil uygulama veriyi nereden alır?

Ticimax, barındırılan ve kapalı kaynak bir altyapıdır; sunucudaki dosyalara erişemezsiniz. Dışarıya açılan kapı SOAP tabanlı web servisleridir. Panelde bir web servis kullanıcısı tanımlandıktan sonra ürün, sipariş, üye ve kargo tarafındaki servis uçları üzerinden veri okunur ve yazılır. Ürün kartlarını sayfalayarak çekmek, sipariş oluşturmak, üye kaydını sorgulamak bu servisler üzerinden yapılır.

SOAP olması iki şeyi beraberinde getirir. Birincisi yanıtlar XML'dir ve JSON'a göre belirgin şekilde daha büyüktür; aynı ürün listesi için taşınan bayt miktarı artar. İkincisi servis sözleşmesi katıdır: hangi alanın hangi tipte ve hangi sırada gönderileceği önceden tanımlıdır. İkinci madde, Ticimax entegrasyonlarındaki en pahalı hatanın kaynağı.

En çok vakit kaybettiren tuzak: alan sırası alfabetik olmak zorunda

Ticimax servisleri WCF üzerinde çalışır ve veri sözleşmesindeki alanları alfabetik sırada bekler. Sırayı bozduğunuzda servis hata döndürmez. Yanıt başarılı gelir, veri gelir, her şey çalışıyor görünür; ama bozulan alandan sonraki tüm filtreler uygulanmamıştır.

Bunun mobil uygulama tarafındaki karşılığı somut. Kategori ekranı için "şu kategorideki aktif ürünler" diye sorduğunuzu düşünün. Alan sırası yanlışsa servis size kategori filtresini yok sayıp tüm kataloğu döndürür. Uygulama ekranında ürünler göründüğü için ilk bakışta sorun fark edilmez; yalnızca yanlış ürünler listelenir. Test aşamasında küçük bir katalogla çalışıyorsanız bu fark gözden bile kaçabilir ve canlıya çıktıktan sonra ortaya çıkar.

Uygulanacak kural basit: entegrasyona başlamadan önce kullanılacak her metodun alanlarını servis tanımından çıkarın, filtre nesnesini alfabetik sırada oluşturan tek bir yardımcı fonksiyon yazın ve tüm çağrıları bu fonksiyondan geçirin. Filtreleri elle sıralamaya bırakmak, projeye yeni katılan her geliştiricide aynı hatanın tekrarlanması demektir.

Katalog çekmenin sınırları: sayfalama ve artımlı senkron

Uygulamanın kategori ve arama ekranları hızlı açılmak zorunda. Ticimax tarafında bunu doğrudan servise sorarak yapmak mümkün değil, çünkü servis sorguları mobil ekran hızına göre tasarlanmamış. Karşılaşacağınız pratik sınırlar:

  • Belirli bir ürün listesini tek istekte sorgulamak kolay değildir. Elinizde otuz barkod varsa bunları tek çağrıda toplu olarak sorgulayıp sonuç almak yerine, kataloğu sayfalayarak taramanız ve eşleştirmeyi kendi tarafınızda yapmanız gerekir.
  • Sayfalama zorunludur. Büyük kataloglarda tek seferde geniş veri istemek hem yavaştır hem zaman aşımı riski taşır. Sayfa boyutunu makul tutup tur sayısını artırmak daha güvenlidir.
  • Tam tarama gün içinde yapılmaz. Bütün kataloğu her saat baştan çekmek servis tarafında gereksiz yük üretir. Doğru kurgu gecelik tam tarama, gün içinde ise stok güncelleme tarihine dayalı artımlı senkrondur.
  • Tek kayıt ile çok kayıt farklı gelir. Sorgu tek sonuç döndürdüğünde çözümleyici size nesne, birden fazla sonuçta dizi verir. Kodun her yerinde diziye normalleştiren bir sarmalayıcı kullanmazsanız, tek sonuçlu senkronlar beklenmedik anlarda çöker.
  • Mantıksal alanlar metin taşır. Aktiflik gibi alanlar doğru/yanlış değerini metin olarak getirir. Bu metni doğrudan mantıksal değere çevirirseniz pasif ürünler aktif görünür ve uygulamada satılamayacak ürünler listelenir.

Bu maddelerin bir kısmı Ticimax tarafında çalışan diğer entegrasyonlarda da karşımıza çıkıyor; Ticimax Trendyol yorum aktarma yazısında aynı servis katmanının yorum tarafındaki yansımalarını anlatmıştık.

Bu yüzden araya bir servis katmanı girer

Yukarıdaki tabloya bakıldığında sonuç net: mobil uygulama Ticimax servislerine doğrudan bağlanmamalı. Uygulama ile panel arasına, kendi sunucunuzda çalışan bir ara katman konur. Bu katmanın işleri şunlar:

Ara katmanın işiYapılmazsa ne olur
Servis kimlik bilgisini saklamakKimlik bilgisi uygulama paketine gömülür; paket çözüldüğünde okunabilir
XML yanıtları JSON'a çevirmekCihaz her istekte XML çözümler, veri kullanımı ve pil tüketimi artar
Katalog önbelleği tutmakHer liste ekranı servise gider, ekranlar saniyelerle açılır
Arama ve filtreyi kendi tarafında çalıştırmakMobilde arama yavaş ve yetersiz kalır, yazım hatası tolere edilemez
Alan sırası ve tip dönüşümlerini tek yerde yönetmekAynı hata her yeni ekranda tekrar yazılır
Servis kesintisinde uygulamayı ayakta tutmakPanel tarafında kısa bir kesinti uygulamayı tamamen kullanılamaz yapar

Son satır özellikle önemli. Ara katman katalog önbelleği tuttuğunda, servis tarafında geçici bir sorun olduğunda uygulama listeleri göstermeye devam eder; yalnızca sipariş verme adımı geçici olarak uyarı gösterir. Doğrudan bağlanan bir uygulamada aynı kesinti, kullanıcı için tamamen boş bir ekran demektir.

Bu katman aynı zamanda uygulamanın hızının kaynağıdır. Uygulama ekranları cihazda kurulu olduğu için indirilecek tek şey veridir; veri de zaten hazır ve mobil için biçimlendirilmiş halde beklediğinde ekran geçişleri beklemesiz olur.

Üye verisi: uygulamada ikinci bir müşteri listesi oluşmaz

Ticimax tarafında üye kaydı panelin kendi kaydıdır ve öyle kalmalıdır. Uygulama, üye servisleri üzerinden mevcut kayda bağlanır; kendi kullanıcı tablosunu kurmaz. Bu, satıcının en çok sorduğu sorunun cevabıdır: sitede üye olan müşteri uygulamaya girdiğinde yeniden kayıt olmaz, adres defteri ve sipariş geçmişi olduğu gibi karşısına gelir.

Bu bağın kurulma şekli proje başında netleştirilmesi gereken bir konudur; kimlik doğrulamanın hangi servis üzerinden ve hangi akışla yürüyeceği, parola sıfırlama ve hesap silme taleplerinin panele nasıl işleneceği kapsam görüşmesinde yazılı hale gelmelidir. Sonradan eklenen bir üyelik akışı, uygulamanın en çok yeniden yazılan parçasıdır.

Sipariş tarafı da aynı mantıkla çalışır. Uygulamadan verilen sipariş panele düşer, aynı numaralandırmaya girer, aynı kargo ve fatura sürecinden geçer. Müşteri hizmetleri ekibi "bu sipariş uygulamadan mı geldi" diye ayrı bir yere bakmak zorunda kalmaz. Raporlama için kanal ayrımı isterseniz bu, siparişe eklenen bir etiketle çözülür; akışı bölmeye gerek kalmaz.

Ödeme adımı nerede tamamlanmalı?

Ticimax tarafında taksit tabloları, kapıda ödeme koşulları, havale indirimi, kargo ücret eşiği ve kupon kuralları panelde tanımlıdır. Bu kuralların uygulama içinde yeniden hesaplanması, her panel değişikliğinde uygulamanın da güncellenmesi anlamına gelir ve pratikte sürdürülemez.

Bu yüzden sepet yönetimi uygulama içinde native ekranlarla yapılsa bile, siparişin oluşturulması ve ödeme adımı Ticimax tarafında tamamlanır. Fiziksel ürün satan e-ticaret uygulamalarında mağazaların uygulama içi satın alma kuralı geçerli olmadığı için tahsilat mevcut sanal POS altyapınızdan geçmeye devam eder; komisyon yapınızda bir değişiklik olmaz.

Ticimax mağaza uygulaması: hangi ekranlar yeniden kurgulanır?

Bir Ticimax mağaza uygulaması, sitenin mobil görünümünün kopyası değildir. Panelde biriken veri aynıdır, sunum farklıdır. Yeniden kurgulanması gereken başlıklar:

  1. Kategori derinliği. Ticimax panellerinde kategori ağaçları zamanla derinleşir. Web'de bu bir menü sorunu; mobilde her seviye ek bir dokunuş demektir. Uygulamada gezinmeyi iki seviyeyle sınırlayıp gerisini filtre ve aramaya devretmek gerekir.
  2. Varyasyon seçimi. Panelde renk ve beden ayrı varyasyon olarak durur; uygulamada bu seçim alt panelden açılan büyük dokunma hedefleriyle yapılmalı, tükenmiş kombinasyonlar seçilemez şekilde işaretlenmelidir.
  3. Arama. Mobilde kullanıcı filtre panelini açmak yerine yazar. Aramanın ara katmanda çalışması, yazım hatasını tolere etmesi ve yazarken öneri vermesi gerekir. Katalog büyükse anlam tabanlı arama uygulamada sitedekinden daha çok fark yaratır.
  4. Sipariş takibi. Kullanıcının uygulamayı açma sebeplerinin başında sipariş durumu geliyor; kargo takip bilgisinin alt sekmelerden birinde durması gerekir.
  5. Boş ve hatalı durumlar. Sonuçsuz arama, boş sepet, servis geçici olarak yanıt vermediğinde gösterilecek ekran. Bunlar tasarlanmadığında kullanıcı beyaz ekran görür ve uygulamayı siler.

Ticimax mobil uygulama yaptırmak: projeyi hızlandıran hazırlıklar

Ticimax mobil uygulama yaptırmak isteyen mağazalarda görüşme öncesi yapılacak birkaç kontrol, projenin ilk haftalarını kazandırıyor:

  • Web servis erişiminin açık olduğunu doğrulayın. Erişimin paketinize dahil olup olmadığı ve servis kullanıcı bilgisinin nasıl alınacağı ilk adımdır; bunun beklenmesi projeyi başlamadan durdurur.
  • Barkod ve stok kodu alanlarını doldurun. Bu alanlar uygulamada tekil kimlik olarak kullanılır; boş kaldıklarında sipariş ve stok eşleşmelerinde hata ayıklamak çok zorlaşır.
  • Pasif ürünleri gerçekten pasif işaretleyin. Satılmayan ama aktif duran ürünler uygulama listelerine düşer ve stok tükenmiş görünen ekranlar üretir.
  • Kategori ağacını sadeleştirin. Boş ve tek ürünlü kategoriler mobil gezinmeyi bozar.
  • Ürün görsellerinin varyasyonlara bağlı olduğunu kontrol edin. Renk seçiminde görsel değişmiyorsa sorun uygulamada değil veri tarafındadır.

Ticimax mobil uygulama fiyatları neye göre oluşuyor?

Rakam yerine kalemleri yazmak daha doğru. Ticimax tarafında bütçeyi belirleyen başlıklar:

KalemNeden bütçeye etki eder
Ara katman ve senkron kurgusuTicimax'e özgü ek bir yapı; kurulumu, önbelleği ve izlemesi ayrı iştir
Arayüz tasarımı derinliğiŞablon uyarlamak ile markaya göre ekran kurgulamak arasında ciddi emek farkı var
Kapsam genişliğiSadakat, hediye çeki, bayi fiyatı gibi başlıkların her biri ayrı akış demek
Dil ve para birimi sayısıİçeriğin çift yönetimi ve biçimlendirme kuralları eklenir
Bildirim kurgusunun derinliğiToplu duyuru kolaydır; davranışa göre segmentli gönderim ayrı bir sistemdir
Özelleştirilmiş panel kullanımıStandart dışı alanlar ve özel geliştirmeler ek eşleştirme işi çıkarır
Bakımİşletim sistemi sürümleri ve mağaza politikaları düzenli iş üretir

Teklif karşılaştırırken sorulacak asıl soru şu: uygulama katalog ve üye verisini nerede tutuyor? Kendi tarafında kopya tutan çözümlerin operasyonel bedelini e-ticaret mobil uygulaması yazısında kalem kalem yazdık.

Panele bağlı uygulama mı, sıfırdan isteğe özel uygulama mı?

Mobil tarafta iki ayrı iş kolumuz var. Bu yazının anlattığı iş, mevcut Ticimax mağazanızın üzerine kurulan ve panelle ortak çalışan uygulama. Burada Ticimax iş kurallarının sahibidir; uygulama, servis katmanı üzerinden aynı veriyi mobil deneyime çevirir.

İkinci iş kolu, panelin veri modeline sığmayan işler: depo ve sayım uygulamaları, bayi sipariş ekranları, saha ekibi araçları, cihazla konuşan uygulamalar. Burada uygulamanın kendi sunucu tarafı ve veri modeli sıfırdan yazılır; Ticimax varsa yalnızca bir veri kaynağı olarak devreye girer. Ticimax kullanan mağazalarda bu ikinci kol sık gündeme geliyor, çünkü panelin kapsamadığı operasyonel ihtiyaçlar zamanla birikiyor. Mobil uygulama hizmet sayfamızda iki kolun kapsamını ayrı yazdık.

Sık karşılaşılan sorunlar ve gerçek sebepleri

BelirtiGerçek sebepKontrol
Kategori ekranında alakasız ürünler listeleniyorFiltre alanları alfabetik sırada gönderilmemiş, filtre yok sayılmışFiltre nesnesinin alan sırasını servis tanımıyla karşılaştırın
Tek ürünlü sorgularda senkron çöküyorTek kayıt nesne, çok kayıt dizi geliyorYanıtı her zaman diziye normalleştirin
Pasif ürünler uygulamada satılabilir görünüyorMetin olarak gelen mantıksal alan doğrudan çevrilmişMetin karşılaştırması yapın
Listeler yavaş açılıyorUygulama servise doğrudan gidiyor, önbellek yokAra katmanda önbellek kurun
Kampanya günü tükenen ürün satılıyorSepete ekleme anında stok doğrulaması yapılmıyorSipariş öncesi stok ve fiyatı kaynaktan teyit edin
Renk değişince görsel güncellenmiyorGörseller varyasyona bağlanmamışÜrün kartındaki varyasyon-görsel eşleşmesini düzeltin
Uygulama servis kesintisinde tamamen boş kalıyorÖnbellek yok, tüm ekranlar canlı sorguya bağlıKatalog ekranlarını önbellekten besleyin

Özet

Ticimax'te mobil uygulama projesinin başarısı iki karara bağlı. Birincisi mimari: uygulama servislere doğrudan bağlanmaz, araya JSON konuşan ve önbellek tutan bir katman girer; kimlik bilgisi orada kalır, hız oradan gelir. İkincisi sınır: iş kuralları panelde kalır, uygulama sunum yapar. Üye kaydı Ticimax'te tekil olur, sipariş panele düşer, taksit ve kargo kuralları tek yerde tanımlı kalır. Bu iki karar doğru verildiğinde geriye kalan iş her altyapıda benzer: iyi bir arayüz, dürüst bir kapsam ve düzenli bakım. Bildirim tarafını kurarken push bildirim yazısındaki izin zamanlaması ve frekans dengesine bakın. Mağazanızın veri tarafının uygulamaya hazır olup olmadığını konuşmak isterseniz destek@stools.digital adresinden yazabilirsiniz.