Ürün Dosyası
Ürün Dosyası Entegrasyonu, RMC Target ve RMC Recommend modüllerini kullanan müşterilerin; web ve mobil ortamlardaki ziyaretçilerinin davranışlarına göre tavsiye ürünler gösterebilmek, ziyaretçi verilerini kullanarak segmentasyon yapabilmek, banner, popup gösterimi gibi aksiyonlar alabilmek ve senaryolar kurmak için gerekli olan dosyalardır.
- Ürün dosyasına özel bir klasör açılıp, dosya bu klasöre bırakılmalıdır.
- Güncellenmek istenen ürün dosyasının, her seferinde aynı adlandırmayla klasöre bırakılmalıdır.
Bu sayfada bulabilecekleriniz:
1. Ürün Dosyası Entegrasyon Metotları
Ürün dosyanızı RMC'ye entegre etmek için iki metod bulunur;
1.1. Başlık (Header) Olmadan CSV Kullanarak
1.2. Ürün Dosyası#XML Kullanarak
Boyut, renk, malzeme vb. farklı ürün varyasyonları sunuyorsanız, entegrasyonunuz biraz farklı olacaktır, lütfen "Varyant bazlı ürün entegrasyonu ve site implementasyonu" alanındaki yönergeleri izleyin.
Aynı kategoriye bağlı alt kategorilerin farklı kategori kodları olmalıdır. Alt kategori isimleri aynı olabilir ama kodları mutlaka farklı olmalıdır. Kategori ağacı şu şekilde olabilir; kadin>kadin_giyim>kadin_ayakkabi, erkek>erkek_giyim>erkek_ayakkabi.
Çoklu dil, çoklu para birimi destekleyen sitelerde widget larda önerilecek ürünlerin ziyaretçinin o anda tercih ettiği dil ve tercih ettiği para birimi görüntülenebilmesi için hali hazırdaki entegrasyon dosyası standartlarına eklemeler yapılmıştır. "Çoklu dil, çoklu para birimi ve lokasyon için ürün entegrasyonu" alanında detaylı bilgileri ve örnek uygulamaları bulabilirsiniz.
1.1. Başlık (Header) Olmadan CSV Kullanarak
1.1.1. Ürün Dosyası Hazırlama
Başarılı bir product.csv dosyası entegrasyonunu sağlamak için aşağıdaki kurallara uymanız gerekmektedir:
- Dosya HTTP üzerinden erişilebilir olmalıdır.
- Dosya günde en az bir kez güncellenmelidir.
- İlk satırda başlık (header) kullanılmamalıdır.
- Dosya BOM (byte order mark) olmadan UTF-8 formatında kodlanmalıdır.
- Sütunları ayırmak için noktalı virgül " ; " kullanın.
- Bir ürün stokta yoksa, stok sütunu 0 (sıfır) olarak bildirilmelidir veya tüm satır dosyadan kaldırılmalıdır.
- İskonto edilmiş bir fiyat yoksa, orijinal fiyat indirimli fiyat kolonuna da yazılmalıdır, böylece her iki kolonunda da aynı değeri içermesi sağlanır.
- Tüm ürün kodları benzersiz olmalıdır.
- Bir ürün yalnızca 1 kategoriye ait olabilir. Bir ürün birden fazla kategoriye bağlıysa, yalnızca varsayılan kategoriyi kullanın.
- Web sitelerinden veya mobil uygulamalardan gönderdiğiniz ürün kodları, Ürün Dosysındaki ürün kodlarıyla aynı olmalıdır.
Örnek CSV dosyasını indirmek ve görüntülemek için tıklayınız..
Kolonlar aşağıdaki şekilde sıralanmalıdır:
Kolon | Açıklama | Örnek | ||
---|---|---|---|---|
1. | Product Code | Ürün Kodu | ZORUNLU | |
2. | Product Name | Ürün Adı | iPhone 7 Plus | ZORUNLU |
3. | Category Code | Hiyerarşik sıralama ile Kategori Kodu | ELECT > CELLPHN > SMRTPDH | ZORUNLU |
4. | Category Name | Hiyerarşik sıralama ile Kategori Adı | Elektronik > Cep Telefonu > Akıllı Telefonlar | ZORUNLU |
5. | Brand | Marka Adı | iPhone, Samsung | ZORUNLU |
6. | Is Active | 0 veya 1 | ZORUNLU | |
7. | Inventory | Toplam Stok Miktarı | ZORUNLU | |
8. | Original Price | Orijinal Fiyat | USD, EUR, TRY, RUB, GB | ZORUNLU |
9. | Discounted Price | İndirimli Fiyat | USD, EUR, TRY, RUB, GB | ZORUNLU |
10. | Product URL | Ürünün yer aldığı link | http://www.website.com/productURL.html | ZORUNLU |
11. | Small Image URL | Ürün Resmi URL (Küçük) | http://www.website.com/productImage.jpg | ZORUNLU |
12. | Medium Image URL | Ürün Resmi URL (Orta) | ZORUNLU | |
13. | Large Image URL | Ürün Resmi URL (Büyük) | ZORUNLU | |
14. | Rating | Kullanıcı Değerlendirmeleri | ZORUNLU | |
15. | Original Price Currency | Orijinal Fiyat Para Birimi | USD, EUR, TRY, RUB, GB | ZORUNLU |
16. | Discount Price Currency | İndirimli Fiyat Para Birimi | USD, EUR, TRY, RUB, GB | ZORUNLU |
17. | Same Day Delivery | Aynı Gün Teslimat. 0 veya 1 | ZORUNLU | |
18. | Free Delivery | Ücretsiz Kargo. 0 veya 1 | ZORUNLU | |
19. | Number of Comments | Yorum Sayısı | ZORUNLU | |
20. | Discount Ratio | İndirim Oranı | ZORUNLU | |
21. | Attribute 1 | OPSIYONEL | ||
22. | Attribute 2 | OPSIYONEL | ||
23. | Attribute 3 | OPSIYONEL | ||
24. | Attribute 4 | OPSIYONEL | ||
25. | Attribute 5 | OPSIYONEL | ||
26. | Color | Renk | OPSIYONEL | |
27. | Material | Malzeme | OPSIYONEL | |
28. | ItemGroupID | Belirli bir ürünün farklı varyantlarını gruplamak için kullanılır. Örneğin, bir gömlek her boyut ve renk varyasyonu için farklı bir VariantID'ye sahip olacak ve tüm varyantlar tek bir Ürün Grubu Kimliğine (Item Group ID) göre gruplandırılacaktır. | OPSIYONEL | |
29. | Gender | Cinsiyet Bilgisini içeren kolon Erkek için M, Kadın için F, Boş değer için NULL(boşluk) kullanınız. | OPSIYONEL | |
30. | Age Group | Yaş Grubu | OPSIYONEL | |
31. | Commentator | Yorumcu | OPSIYONEL | |
32. | Comment | Yorum | OPSIYONEL | |
33. | Gifts | OPSIYONEL | ||
34. | Attribute 6 | OPSIYONEL | ||
35. | Attribute 7 | OPSIYONEL | ||
36. | Attribute 8 | OPSIYONEL | ||
37. | Attribute 9 | OPSIYONEL | ||
38. | Attribute 10 | OPSIYONEL |
- Tüm sütunlar bir değerle tanımlanmalıdır. Bir kolonun bir değeri yoksa, boş bir değerle tanımlanması gerekir.
- İlk 20 kolon zorunludur. Onları kullanmayacak olsanız bile, ilk 20 kolon için noktalı virgül eklemelisiniz. İndirim Oranı kolonundan sonraki kolonlar opsiyoneldir.
- Boş bırakılmaması gereken kolonlar: Product Code, Category Code, Category Name, Inventory, Original Price, Discounted Price, Product URL, Original Price Currency.
- Image kolonlarından (Small Image URL, Medium Image URL, Large Image URL) en az birinde, ürün resminin geçerli bir URL'i bulunmalıdır.
1.1.2. Ürün Entegrasyonu için Gerekli Tanımlamalar
Gerekli ürün dosyasını yukarıda bahsedilen kurallara ve standartlara göre hazırladıktan sonra, dosyayı doğrulamak ve otomatik bir yükleme planlamak için aşağıdaki adımları uygulayın:
- Ayarlar ikonu > Personalization Center > Recommendation > Product Integration yolunu izleyiniz.
- Oluşturduğunuz CSV dosyası için URL girin.
URL'yi ve dosyayı doğrulamak için aşağıdaki adımları izleyin.
- Test Detaylarında herhangi bir hata bulunmuyorsa Save URL butonunu tıklayın.
- Ürün veri yüklemelerini planlamak için Add Trigger seçeneğini tıklayın. Buradan seçilen periyotlarda, aynı link üzerinde yer alan ürün dosyası sisteme otomatik olarak yüklenecektir.
Üst menüden Recommend > Product Catalog yolunu izleyerek, ürün dosyasıyla aktarılan ürünleri görüntüleyebilirsiniz.
1.2. Ürün Dosyası#XML Kullanarak
Ürün dosyasını Google Product Feed XML kullanarak RMC'ye göndermek istiyorsanız, Google standartlarını takip etmeniz gerekir.
RMC Segment Raporlamasını düzgün şekilde çalıştırmak için aşağıdaki etiketler <item> veya <product> etiketlerinin içinde olmalıdır.
Örnek bir XML dosyası indirmek ve görüntülemek için tıklayınız.
Tags | Açıklama |
---|---|
<product_code> | Ürün Kodu |
<product_name> | Ürün Adı |
<category_code> | Kategori Kodu |
<category_name> | Kategori Adı |
<brand> | Marka Adı |
<is_active> | |
<inventory> | Toplam Stok Miktarı |
<original_price> | Orijinal Fiyatı |
<discounted_price> | İndirimli Fiyatı |
<product_url> | |
<small_image> | |
<medium_image> | |
<large_image> | |
<rating> | Değerlendirme |
<original_price_currency> | Orijinal Fiyat Para Birimi |
<discount_price_currency> | İndirimli Fiyat Para Birimi |
<same_day_delivery> | Aynı Gün Teslimat. 0 veya 1. |
<free_delivery> | Ücretsiz Kargo. 0 veya 1. |
<number_of_comments> | |
<discount_ratio> | 0 ila 100 arası indirim oranı |
<attribute1> | |
<attribute2> | |
<attribute3> | |
<attribute4> | |
<attribute5> | |
<color> | Renk |
<material> | Malzeme |
<itemgroupid> | Ürün Grubu ID'si |
<gender> | Cinsiyet Bilgisini içeren kolon Erkek için M, Kadın için F, Boş değer için NULL(boşluk) kullanınız. |
<agegroup> | Yaş Grubu |
<commentator> | Yorumcu |
<comment> | Yorum |
<gifts> | |
<attribute6> | |
<attribute7> |
2. Varyant Bazlı Ürün Entegrasyonu ve Site İmplementasyonu
Varyant bazlı ürün önerisi yapılmak istendiğinde ürün entegrasyonu da, sitedeki implementasyon da buna uygun şekilde tasarlanmalıdır.
Site üzerinden iletilen visilabs parametrelerinde Ürün Detay sırasında bize iletilen OM.pv parametresinde varyantlı ürün kodu iletilmeli, öyle bir kod yok ise bu kod üretilmelidir. Bu durumda bir ürünün 1’den fazla ürün kodu olacağı için, ayrıca hepsinin ortak bir grup kodu da olmalıdır. Bu grup kodu (Item Group ID) sayesinde sistemimiz bu ürün kodlarının tek bir ürüne ait olduğunu anlamış olacaktır.
Item Group ID Nedir?
Ürün Grup Kimliği (Item Group ID), belirli bir ürünün farklı varyantlarını gruplamak için kullanılır. Örneğin, bir gömlek her boyut ve renk varyasyonu için farklı bir VariantID'ye sahip olacak ve tüm varyantlar tek bir Ürün Grubu Kimliğine (Item Group ID) göre gruplandırılacaktır.
Varyant bazlı ürün entegrasyondan etkilenen 4 farklı alan vardır:
Örnek:
Gömlek örneği için, Ürün Grubu Kimliği'nin (Item Gorup ID) "PCShirt123" olduğunu ve renk seçeneği Mavi (Blue) olan ürün için, VariantID "PCShirt123-BL" olduğunu varsayalım.
Çoğu giyim firması, ürün kişiselleştirme açısından boyutu önemli olmadığından yalnızca renk seviyesine inmeyi tercih etmektedir.
1. Product View Event
<script type="text/javascript"> function OnVisilabsLoaded(){ var VL = new Visilabs(); VL.AddParameter("OM.pv","Variant ID");//VL.AddParameter("OM.pv","PCShirt123-BL"); VL.AddParameter("OM.pn","Product Name"); VL.AddParameter("OM.inv" , "Number of items in stock"); VL.AddParameter("OM.ppr", "Product Price"); VL.AddParameter("OM.pv.1", "Product Brand"); VL.AddParameter("OM.pv.2", "Item Group ID");//VL.AddParameter("OM.pv.2", "PCShirt123"); VL.Collect(); VL.SuggestActions(); } </script>
2. Add To Cart Event
<script type="text/javascript"> function OnVisilabsLoaded(){ var VL = new Visilabs(); VL.AddParameter("OM.pbid","Basket ID"); VL.AddParameter("OM.pb","Variant Code 1;Variant Code2"); VL.AddParameter("OM.pb.2","Item Group ID 1;Item Group ID 2"); VL.AddParameter("OM.pu" ,"product Quantity 1;product Quantity 2") VL.AddParameter("OM.ppr" ,"Product Price1*Product Quantity 1;Product Price2*Product Quantity2"); VL.Collect(); VL.SuggestActions(); } </script>
3. Product Purchase Event
<script type="text/javascript"> function OnVisilabsLoaded(){ var VL = new Visilabs(); VL.AddParameter("OM.tid","TransactionID"); VL.AddParameter("OM.pp","Variant Code 1;Variant Code2"); VL.AddParameter("OM.pp.2","Item Group ID 1;Item Group ID 2"); VL.AddParameter("OM.pu","product Quantity 1;product Quantity 2"); VL.AddParameter("OM.ppr","Product Price1*Product Quantity 1;Product Price2*Product Quantity2"); VL.AddParameter("OM.exVisitorID","User ID"); VL.Collect(); VL.SuggestActions(); } </script>
4. Product File
Varyasyonlar satırlarda görünür. Ürün dosyasında, satır başına bir ürün varyantınız olmalıdır. Diyelim ki aynı üründe 4 farklı varyantınız var: Mavi, Kırmızı, Yeşil, Sarı, her varyant için bir tane olmak üzere 4 sıra olacak ve hepsi aynı Ürün Grubu Kimliği altında gruplanacaktır.
1st Column: Ürün kodu yerine Varyant Kimliği (Variant ID) gönderin.
28th Column: Ürün Grubu Kimliği gönderin.
Örnek uygulamalar;
1. Default (varyant seçmeden) bir ürün incelendiğinde:
Ziyaretçi henüz hiçbir varyant seçimi yapmamış ise aşağıda kırmızı ile belirtilen şekilde defaultta belirlenen ürün kodu gönderilmelidir. Default’da genelde ilk varyanta ait ürün kodu gönderilir. Burada da 'Small' varyantına ait ürün kodu iletilmiştir. Bununla birlikte resimde de görüldüğü üzere OM.pv.1 parametresinde grup kodu da iletilmiştir. OM.pv.1 parametresinde marka bilgisi iletiliyor ise bu değer OM.pv.2 parametresinde de bize iletilebilir.
Burada önemli olan bir diğer husus ise default olan ürüne ait stok bilgisidir. OM.inv parametresine set edilen stok miktarı tüm varyantların toplam stok değeri olmalıdır.
2- Varyant Bazlı bir ürün incelendiğinde ise:
Burada M bedeni ile seçim yapıldıktan sonra resimde de göründüğü üzere M varyantına ait ürün kodu ve ürünün grup kodu yine bize iletilmiştir. Bu her varyant için bu şekilde düzenlenmelidir.
3- Ürün Detay Sayfasında Sepete Ekleme İşlemi
Ürün Detay Sayfaları üzerinden sepete ekleme, sepetten çıkarma veya sepeti artırma işlemleri gerçekleştirilirken gönderilmesi gereken 5 adet parametre mevcuttur. Bunlar;
VL.AddParameter("OM.pb","Product Code"); VL.AddParameter("OM.pb.2","Product Group Code"); VL.AddParameter("OM.pu" ,"Product Quantity"); VL.AddParameter("OM.ppr" ,"Product Price*Product Quantity"); VL.AddParameter("OM.uri" ,"/om.gif");
Burada OM.pb parametresine Ürün Detay’da OM.pv parametresi ile gönderilen varyantlı ürün kodu, OM.pb.1 parametresinde ise yine ürünün grup kodu gönderilmelidir.
Sepetten ürün silme veya azaltma işlemlerinde ürün adedi bilgisi önüne eksi (-) getirilerek iletilmelidir.
3. Çoklu Dil, Çoklu Para Birimi ve Lokasyon için Ürün Entegrasyon Metotları
3.1. CSV Kullanarak
RMC Recommend ürününde bulunan widget'larda önerilen ürünlerin, çoklu dil (multi-language), çoklu para birimi (multi-currency) destekleyen web sitelerine uyumlu olarak çalışabilmesi için ürün entegrasyonunda uyulması gereken kuralları bu bölümde bulabilirsiniz.
Visilabs CSV ürün entegrasyon servisi hali hazırda başlık bilgisi bulunmayan, CSV de bulunan kolon sırasının sabit olduğu bir yapıya sahiptir. Çoklu dil, çoklu para birimi destekleyen sitelerde widget'larda önerilecek ürünlerin ziyaretçinin o anda tercih ettiği dil ve tercih ettiği para birimi görüntülenebilmesi için hali hazırdaki entegrasyon dosyası standartlarına eklemeler yapılmıştır.
Değişiklikler kısaca şöyledir:
- CSV ürün entegrasyon dosyasına başlık bilgisi konulması çoklu dil desteği için zorunludur. Detaylar “CSV Dosyası Başlık Bilgileri” bölümünde açıklanmıştır.
- Sitenin lokalizasyon seçenekleri (para birimi, ürünün temin edilebilirliği ve dil) ile standart ürün bilgilerinin sağlanması gereklidir. Bir başka deyişle standart kolonların desteklenen lokasyon seçeneklerine göre karşılıklarının sağlanması gereklidir. Detaylar “Ürün Verilerinin Özelleştirilmesi” bölümünde açıklanmıştır.
- Lokalizasyon için sağlanan ürün bilgilerinde tutarlılık sağlanmalıdır. Detaylar “Lokalizasyon Yapılan Ürün Bilgilerinde Tutarlılık” bölümünde açıklanmıştır.
Widget'ların çoklu dil/çoklu para birimi destekleyen siteler ile uyumlu çalışabilmesi için Product Data entegrasyonu altında bulunan tüm yönergelere uyulmalıdır. Ürün bilgilerinde bulunan bazı kolonlar para birimi, bazı kolonlar ürünün temin edilebilirliği (lokasyon) ve bazı kolonlarda dil ile özelleştirilecektir.
Bu bölümde sadece CSV ile yapılan ürün entegrasyonlarına dair bilgiler bulabilirsiniz.
3.1.1. CSV Dosyası Başlık Bilgileri
ProductCode;ProductName;CategoryCode;CategoryName;Brand;IsActive;Inventory;OriginalPrice;DiscountedPrice;TargetURL;SmallImageURL;MediumImageURL;LargeImageURL;Rating;OriginalPriceCurrency;
DiscountPriceCurrency;ShippingOnSameDay;FreeShipping;CommentCount;DiscountRatio
Attribute1;Attribute2;Attribute3;Attribute4;Attribute5;Color;Material;ItemGroupID;Gender;AgeGroup;Commentator;Comment;Attribute6;Attribute7;Attribute8;Attribute9;Attribute10
Kolon ayracı olarak “;” (noktalı virgül) kullanılmalıdır.
Özelleştirilecek veriler için kullanılacak kolon isimlendirme standartı:
Lokalizasyon için eklenecek yeni başlık isimleri, orijinal kolon ismi ile başlayıp sonrasında “_” karakteri getirilerek özelleştirmesi yapılacak alana göre dil, para birimi veya lokasyon kodu son eki birleştirilerek oluşturulmalıdır. Dil, para birimi, lokasyona göre özelleştirilebilecek kolonların ayrıntılarına bir sonraki bölümde değinilecektir.
3.1.2. Ürün Verilerinin Özelleştirilmesi
Yukarda yer alan, "CSV Dosyası Başlık Bilgileri" bölümünde ürün bilgilerinin dil, para birimi, ve temin edilebilirlik (lokasyon) bazında özelleştirilebileceğinden bahsetmiştik.
3.1.2.1. DİL ile özelleştirilebilecek ürün bilgileri
Dil ile özelleştirilecek olan verilerde kullanılacak kolon isimlendirmesi şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 2 karakterli ISO 639-1 kodu girilmelidir.
Örnek 2 haneli ISO 639-1 dil kodları | |
---|---|
İngilizce | en |
Almanca | de |
Fransızca | fr |
İspanyolca | es |
Rusça | ru |
Dil ([language]) ile özelleştirilebilecek olan CSV ürün entegrasyon dosyası kolonları şöyledir:
Orjinal Kolon Adı | Özelleştirilmiş Kolon Formatı | Veri Tipi | Örnek |
---|---|---|---|
CategoryName | CategoryName_[language] | string | CategoryName_en,CategoryName_de,CategoryName_fr |
ProductName | ProductName_[language] | string | ProductName_en,ProductName_de,ProductName_fr |
TargetURL | TargetURL_[language] | string | TargetURL_en,TargetURL_de,TargetURL_fr |
SmallImageURL | SmallImageURL_[language] | string | SmallImageURL_en,SmallImageURL_de,SmallImageURL_fr |
MediumImageURL | MediumImageURL_[language] | string | MediumImageURL_en,MediumImageURL_de,MediumImageURL_fr |
LargeImageURL | LargeImageURL_[language] | string | LargeImageURL_en,LargeImageURL_de,LargeImageURL_fr |
Rating | Rating_[language] | string | Rating_en,Rating_de,Rating_fr |
CommentCount | CommentCount_[language] | int | CommentCount_en,CommentCount_de,CommentCount_fr |
Color | Color_[language] | string | Color_en,Color_de,Color_fr |
Material | Material_[language] | string | Material_en,Material_de,Material_fr |
Gender | Gender_[language] | string | Gender_en,Gender_de,Gender_fr |
AgeGroup | AgeGroup_[language] | string | AgeGroup_en,AgeGroup_de,AgeGroup_fr |
Attribute1 | Attribute1_[language] | string | Attribute1_en,Attribute1_de,Attribute1_fr |
Attribute2 | Attribute2_[language] | string | Attribute2_en,Attribute2_de,Attribute2_fr |
Attribute3 | Attribute3_[language] | string | Attribute3_en,Attribute3_de,Attribute3_fr |
Attribute4 | Attribute4_[language] | string | Attribute4_en,Attribute4_de,Attribute4_fr |
Attribute5 | Attribute5_[language] | string | Attribute5_en,Attribute5_de,Attribute5_fr |
Commentator | Commentator_[language] | string | Commentator_en,Commentator_de,Commentator_fr |
Comment | Comment_[language] | string | Comment_en,Comment_de,Comment_fr |
3.1.2.2. Para Birimi ile Özelleştirilebilecek Ürün Bilgileri
Para birimi ile özelleştirilecek olan verilerde kullanılacak kolon isimlendirmesi şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 3 karakterli ISO-4217 para birimi kodu girilmelidir.
Örnek 3 haneli ISO-4217 para birimi kodları | |
---|---|
Türk Lirası | TRY |
Euro | EUR |
Amerikan Doları | USD |
Rus Rublesi | RUB |
İngiliz Sterlini | GBP |
Para birimi le özelleştirilebilecek olan CSV ürün entegrasyon dosyası kolonları şöyledir:
Orjinal Kolon Adı | Özelleştirilmiş Kolon Formatı | Veri Tipi | Örnek |
---|---|---|---|
OriginalPrice | OriginalPrice_[currencycode] | money | OriginalPrice_USD,OriginalPrice_GBP,OriginalPrice_EUR |
DiscountedPrice | DiscountedPrice_[currencycode] | money | DiscountedPrice_USD,DiscountedPrice_GBP,DiscountedPrice_EUR |
OriginalPriceCurrency | Currency_[currencycode] | string | Currency_USD,Currency_GBP,Currency_EUR |
DiscountRatio | DiscountRatio_[currencycode] | float | DiscountRate_USD,DiscountRate_GBP,DiscountRate_EUR |
DiscountPriceCurrency | DiscountCurrency_[currencycode] | string | DiscountedPriceCurrency_USD,DiscountedPriceCurrency_GBP,DiscountedPriceCurrency_EUR |
3.1.2.3 LOKASYON (temin edilebilirlik) ile özelleştirilecek ürün bilgileri
Lokasyon ile özelleştirilecek olan verilerde kullanılacak kolon isimlendirmesi şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 2 karakterli ISO 3166-1 ülke kodu girilmelidir.
Örnek 2 haneli ISO 3166-1 ülke kodları | |
---|---|
Türkiye | TR |
Almanya | DE |
Amerikan Birleşik Devletleri | US |
Rusya Federasyonu | RU |
Fransa | FR |
Birleşik Krallık | GB |
Lokasyon ile özelleştirilebilecek olan CSV ürün entegrasyon dosyası kolonları şöyledir:
Orjinal Kolon Adı | Özelleştirilmiş Kolon Formatı | Veri Tipi | Örnek |
---|---|---|---|
Inventory | Inventory_[location] | int | Inventory_US,Inventory_UK,Inventory_DE |
FreeShipping | FreeShipping_[location] | bit | FreeShipping_US,FreeShipping_UK,FreeShipping_DE |
ShippingOnSameDay | ShippingOnSameDay_[location] | bit | ShippingOnSameDay_US,ShippingOnSameDay_UK,ShippingOnSameDay_DE |
3.1.2.4. Diğer Alanlar
Standart ürün alanlarının yanı sıra ürün bilgilerine widget render edilirken kullanılabilecek veya email gönderiminde kullanılacak ekstra alanlar ekleyebilirsiniz.
Bu alanlar, text türündedir ve maksimum 400 karakter olabilirler ve “Attr_” önekiyle başlamalıdır.
Örneğin ürününüzdeki RMC’de standart olmayan “MadeIn” alanını dosyada aşağıdaki şekillerde de gönderebilirsiniz:
ProductCode;ProductName;CategoryCode;CategoryName;Brand;IsActive;Inventory;OriginalPrice;DiscountedPrice;TargetURL;SmallImageURL;MediumImageURL; LargeImageURL;Rating;OriginalPriceCurrency;DiscountPriceCurrency;SameDayDelivery;FreeDelivery;NumberOfComments;DiscountRatio;Attr_MadeIn PC1;Product Name 1;123123>459;123123 Name>459 Name;XEROX;1;14;614,6300;614,6300; |
3.2. Single XML Kullanarak
RMC Recommend ürününde bulunan widget'larda önerilen ürünlerin, çoklu dil (multi-language), çoklu para birimi (multi-currency) destekleyen web sitelerine uyumlu olarak çalışabilmesi için ürün entegrasyonunda uyulması gereken kuralları bu bölümde bulabilirsiniz.
3.2.1. DİL ile özelleştirilebilecek ürün bilgileri
Dil ile özelleştirilecek olan verilerde kullanılacak isimlendirme şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 2 karakterli ISO 639-1 kodu girilmelidir.
Örnek 2 haneli ISO 639-1 dil kodları | |
---|---|
İngilizce | en |
Almanca | de |
Fransızca | fr |
İspanyolca | es |
Rusça | ru |
Dil ([language]) ile özelleştirilebilecek olan XML tag'leri şöyledir:
Tags | Özelleştirilmiş Tag Formatı | Veri Tipi | Örnek |
---|---|---|---|
<category_name> | <category_name_[language]> | string | <category_name_en></category_name_en> <category_name_fr></category_name_fr> |
<product_name> | <product_name_[language]> | string | <product_name_en></product_name_en> <product_name_fr></product_name_fr> |
<target_url> | <target_url_[language]> | string | <target_url_en></target_url_en> <target_url_fr></target_url_fr> |
<small_image_url> | <small_image_url_[language]> | string | <small_image_en></small_image_en> <small_image_fr></small_image_fr> |
<medium_image_url> | <medium_image_url_[language]> | string | <medium_image_en></medium_image_en> <medium_image_fr></medium_image_fr> |
<medium_image_url> | <large_image_url_[language]> | string | <large_image_en></large_image_en> <large_image_fr></large_image_fr> |
<rating> | <rating_[language]> | string | <rating_en></rating_en> <rating_fr></rating_fr> |
<comment_count> | <comment_count_[language]> | int | <comment_count_en></comment_count_en> <comment_count_fr></comment_count_fr> |
<color> | <color_[language]> | string | <color_en></color_en> <color_fr></color_fr> |
<material> | <material_[language]> | string | <material_en></material_en> <material_fr></material_fr> |
<gender> | <gender_[language]> | string | <gender_en></gender_en> <gender_fr></gender_fr> |
<agegroup> | <agegroup> | string | <agegroup_en></agegroup_en> <agegroup_fr></agegroup_fr> |
<attribute1> | <attribute1_[language]> | string | <attribute1_en></attribute1_en> <attribute1_fr></attribute1_fr> |
<attribute2> | <attribute2_[language]> | string | <attribute2_en></attribute2_en> <attribute2_fr></attribute2_fr> |
<attribute3> | <attribute3_[language]> | string | <attribute3_en></attribute3_en> <attribute3_fr></attribute3_fr> |
<attribute4> | <attribute4_[language]> | string | <attribute4_en></attribute4_en> <attribute4_fr></attribute4_fr> |
<attribute5> | <attribute5_[language]> | string | <attribute5_en></attribute5_en> <attribute5_fr></attribute5_fr> |
<commentator> | <commentator_[language]> | string | <commentator_en></commentator_en> <commentator_fr></commentator_fr> |
<comment> | <comment_[language]> | string | <comment_en></comment_en> <comment_fr></comment_fr> |
3.2.2. PARA BİRİMİ ile özelleştirilebilecek ürün bilgileri
Para birimi ile özelleştirilecek olan verilerde kullanılacak isimlendirme şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 3 karakterli ISO-4217 para birimi kodu girilmelidir.
Örnek 3 haneli ISO-4217 para birimi kodları | |
---|---|
Türk Lirası | TRY |
Euro | EUR |
Amerikan Doları | USD |
Rus Rublesi | RUB |
İngiliz Sterlini | GBP |
Para birimi ([currencycode]) ile özelleştirilebilecek olan XML tag'leri şöyledir:
Tags | Özelleştirilmiş Tag Formatı | Veri Tipi | Örnek |
---|---|---|---|
<original_price> | <original_price_[currencycode]> | money | <original_price_EUR></original_price_EUR> <original_price_USD></original_price_USD> |
<discounted_price> | <discounted_price_[currencycode]> | money | <discount_price_currency_EUR></discount_price_currency_EUR> <discount_price_currency_USD></discount_price_currency_USD> |
<original_price_currency> | <currency_[currencycode]> | string | <currency_EUR></currency_EUR> <currency_USD></currency_USD> |
<discount_ratio> | <discount_ratio_[currencycode]> | float | <discounted_rate_EUR></discounted_rate_EUR> <discounted_rate_USD></discounted_rate_USD> |
<discount_price_currency> | <discount_currency_[currencycode]> | string | <discount_price_currency_EUR></discount_price_currency_EUR> <discount_price_currency_USD></discount_price_currency_USD> |
3.2.3. LOKASYON (temin edilebilirlik) ile özelleştirilecek ürün bilgileri
Lokasyon ile özelleştirilecek olan verilerde kullanılacak isimlendirme şu şekilde yapılmalıdır: İlgili alanın orijinal adından sonra ‘_’ karakteri ve 2 karakterli ISO 3166-1 ülke kodu girilmelidir.
Örnek 2 haneli ISO 3166-1 ülke kodları | |
---|---|
Türkiye | TR |
Almanya | DE |
Amerikan Birleşik Devletleri | US |
Rusya Federasyonu | RU |
Fransa | FR |
Birleşik Krallık | GB |
Lokasyon ([location]) ile özelleştirilebilecek olan XML tag'leri şöyledir:
Tags | Özelleştirilmiş Tag Formatı | Veri Tipi | Örnek |
---|---|---|---|
<inventory> | <inventory_[location]> | int | <inventory_US></inventory_US> <inventory_EUR></inventory_EUR> |
<free_shipping> | <free_shipping_[location]> | bit | <free_shipping_US> <free_shipping_EUR> |
<shipping_on_same_day> | <shipping_on_same_day_[location]> | bit | <shipping_on_same_day_US> <shipping_on_same_day_EUR> |
3.3. Multiple XML Kullanarak
Birden fazla dil ve para birimi bilgisi içeren birden fazla XML dosyasında gönderilen ürünlerin içeri alınabilmesi için, XML dosyasının aşağıdaki kurallara uygun oluşturulması gerekmektedir:
Xml'lerde yapı <products><product>…</product><product>…</product></products> şeklinde olmalıdır, yani <products> tag'i altında <product> tag'leri içinde ürünler tanımlanmalıdır.
Tag yapısı tüm dosyalarda aynı olmalı, _en, _tr gibi uzantılar kullanılmamalıdır.
https://mysite.com/products.xml?language=tr¤cy=tl için örnek xml
<?xml version="1.0" encoding="UTF-8"?><products>
<product>
<product_code><![CDATA[190406310]]></product_code><product_name><![CDATA[Elbise-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-tr]]></category_name>
<brand><![CDATA[mysite]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/tr/190406310]]></product_url>
<small_image><![CDATA[https://www.mysite.com/tr/190406310-small.jpg]]></small_image>
<medium_image><![CDATA[https://www.mysite.com/tr/190406310-medium.jpg]]></medium_image>
<large_image><![CDATA[https://www.mysite.com/tr/190406310-large.jpg]]></large_image>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[800.00]]></original_price>
<discounted_price><![CDATA[500.00]]></discounted_price>
<original_price_currency><![CDATA[TL]]></original_price_currency>
<discount_price_currency><![CDATA[TL]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
https://mysite.com/products.xml?language=en¤cy=eur için örnek xml
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<product_code><![CDATA[190406310]]></product_code>
<product_name><![CDATA[Dress-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-en]]></category_name>
<brand><![CDATA[KNITSS]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/en/190406310]]</product_url>>
<small_image><![CDATA[https://www.mysite.com/en/190406310-small.jpg]]</small_image>>
<medium_image><![CDATA[https://www.mysite.com/en/190406310-medium.jpg]]</medium_image>>
<large_image><![CDATA[https://www.mysite.com/en/190406310-large.jpg]]</large_image>>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[90.00]]></original_price>
<discounted_price><![CDATA[64.00]]></discounted_price>
<original_price_currency><![CDATA[EUR]]></original_price_currency>
<discount_price_currency><![CDATA[EUR]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
https://mysite.com/products.xml?language=en¤cy=usd için örnek xml
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<product_code><![CDATA[190406310]]></product_code>
<product_name><![CDATA[Dress-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-en]]></category_name>
<brand><![CDATA[mysite]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/en/190406310]]></product_url>
<small_image><![CDATA[https://www.mysite.com/en/190406310-small.jpg]]></small_image>
<medium_image><![CDATA[https://www.mysite.com/en/190406310-medium.jpg]]></medium_image>
<large_image><![CDATA[https://www.mysite.com/en/190406310-large.jpg]]></large_image>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[100.00]]></original_price>
<discounted_price><![CDATA[70.00]]></discounted_price>
<original_price_currency><![CDATA[USD]]></original_price_currency>
<discount_price_currency><![CDATA[USD]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
4. Lokalizasyon Yapılan Ürün Bilgilerinde Tutarlılık
Widgetların site üzerinde gösterilebilmesi için visilabs JavaScript kütüphanesinin, gösterim yapılacak tüm sayfalara yerleştirilmesi gereklidir. Bu kütüphane ziyaretçinin gezinmesi sırasında elde ettiği bazı bilgileri, visilabs internet servislerinden öneriler isterken gönderir. Aynı zamanda sitede yapılacak implementasyon gereği bu bilgiler dışındaki bazı bilgilerde site kodlayıcıları tarafından ilgili sayfalarda, kütüphane içinde bulunan bazı metodlar aracılığıyla gönderilebilir.
Çoklu dil, çoklu parabirimi desteği için 3 parametrenin öneri istenen metodun çağırılmasından önce visilabs kütüphanesinin topladığı parametre dizisi içerisine eklenmesi gerekmektedir.
Bu parametreler şunlardır: OM.p_lng, OM.p_loc, OM.p_dc
OM.p_lng | Kullanıcının siteyi görüntülediği dil bilgisini içeren parametre, 2 karakterli ISO 639-1 dil kodu olmalıdır. |
---|---|
OM.p_loc | Kullanıcının bulunduğu lokasyon bilgisini içeren parametre, 2 karakterli ISO 3166-1 ülke kodu olmalıdır. |
OM.p_dc | Kullanıcının tercih ettiği para birimi bilgisini içeren parametre, 3 karakterli ISO-4217 para birimi kodu olmalıdır. |
Bu bilgiler ışığında visilabs öneri servisi istemciye önerilecek ürün bilgilerini gönderirken, tasarımda kullanılabilecek tüm bilgileri, kullanıcının lokalizasyon ayarlarına uyumlu hale getirerek gönderimi sağlar.
Bu noktada istenmeyen durumlardan kaçınmak için lokalizasyon için kullanılacak bilgilerin uyumlu olması gereklidir.
Örneğin bir ziyaretçi için öneri istenirken gönderilecek parametre değeri şöyle olsun:
OM.p_lng = de
OM.p_loc = DE
OM.p_dc = EUR
Ürün dosyasında da “ABC” ürünü için lokalize edilen alanlar şu şekilde olsun:
Inventory_DE = 1
OriginalPrice_EUR = boş veya “” olsun. Bu durumda önerilecek ürün “ABC” olması durumunda widget site üzerinde oluşturulurken kullanılabilecek olan fiyat bilgisi gönderilemeyecek 0 olarak görüntülenecektir.
Aynı durum ürün görüntüleme linki (TargetUrl) içinde geçerli olabilir. Inventory_DE = 1 gönderilirken “TargetUrl_de” gönderilmiyor veya boş gönderiliyor ise widget üzerinde ürüne tıklandığından gidilebilecek bir link olamayacaktır.
Buradan yola çıkarak 3 dil, 3 parabirimi ve 3 lokasyon destekleyen bir site de widgetların uyumlu bir şekilde çalışabilmesi için standart field'ların yanısıra widgetlar render edilirken en çok ihtiyaç duyulan field'ların özelleştirilmiş kolonları ürün entegrasyonunda gönderilmelidir.
Bu fieldlar şöyledir:
ProductName, TargetURL, (SmallImageURL veya MediumImageURL veya LargeImageURL) en az bir tanesi, OriginalPrice, Currency, DiscountedPrice, DiscountCurrency ,Inventory
Bu durumda ürün dosyasında bulunması gereken kolon sayısı:
- Standart kolon sayısı: 20
- Özeleştirilmiş field sayısı: ProductName_[language] * 3 + TargetURL_[language] *3 + MediumImageURL_[language] *3 + OriginalPrice_[currency] * 3 + OriginalPriceCurrency_[currency] * 3 + DiscountedPrice_[currency] * 3 + DiscountPriceCurrency_[currency] * 3 + Inventory_[location] * 3 = 24
- Toplamda en az 44 (20 + 24) kolon olmalıdır.
Copyright 2020 Related Digital