Ü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ı, RMC tarafından sağlanan FTP alanı yerine kök klasöre ( root directory) bırakıldığı takdirde; Datawarehouse modülü veriyi silmektedir. Bu sebepten, dosya FTP alanı dışında kullanılmak istenirse aşağıdaki adımlara dikkat edilmelidir:
  1. Ürün dosyasına özel bir klasör açılıp, dosya bu klasöre bırakılmalıdır.
  2. 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:

  1. Dosya HTTP üzerinden erişilebilir olmalıdır.
  2. Dosya günde en az bir kez güncellenmelidir.
  3. İlk satırda başlık (header) kullanılmamalıdır.
  4. Dosya BOM (byte order mark) olmadan UTF-8 formatında kodlanmalıdır.
  5. Sütunları ayırmak için noktalı virgül " ; " kullanın.
  6. 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.
  7. İ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.
  8. Tüm ürün kodları benzersiz olmalıdır.
  9. 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.
  10. 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ı

Ö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 CodeHiyerarşik sıralama ile Kategori KoduELECT > CELLPHN > SMRTPDH

ZORUNLU

4.Category NameHiyerarşik sıralama ile Kategori AdıElektronik > Cep Telefonu > Akıllı Telefonlar

ZORUNLU

5.BrandMarka AdıiPhone, Samsung

ZORUNLU

6.Is Active0 veya 1

ZORUNLU

7.InventoryToplam Stok Miktarı

ZORUNLU

8.Original PriceOrijinal FiyatUSD, EUR, TRY, RUB, GB

ZORUNLU

9.Discounted Priceİndirimli FiyatUSD, EUR, TRY, RUB, GB

ZORUNLU

10.Product URLÜrünün yer aldığı linkhttp://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.RatingKullanıcı Değerlendirmeleri

ZORUNLU

15.Original Price CurrencyOrijinal Fiyat Para BirimiUSD, EUR, TRY, RUB, GB

ZORUNLU

16.Discount Price Currencyİndirimli Fiyat Para BirimiUSD, EUR, TRY, RUB, GB

ZORUNLU

17.Same Day DeliveryAynı Gün Teslimat. 0 veya 1

ZORUNLU

18.Free DeliveryÜcretsiz Kargo. 0 veya 1

ZORUNLU

19.Number of CommentsYorum 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.ColorRenk

OPSIYONEL

27.MaterialMalzeme

OPSIYONEL

28.ItemGroupIDBelirli 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 GroupYaş Grubu

OPSIYONEL

31.CommentatorYorumcu

OPSIYONEL

32.CommentYorum

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 CodeCategory CodeCategory NameInventoryOriginal PriceDiscounted PriceProduct URLOriginal 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:

  1. Ayarlar ikonu > Personalization Center > Recommendation > Product Integration yolunu izleyiniz.

  2. Oluşturduğunuz CSV dosyası için URL girin.

  3. URL'yi ve dosyayı doğrulamak için aşağıdaki adımları izleyin.

     Doğrulama Adımları
    1. Ürün Dosyası için url girdikten sonra, Add Trigger butonunu kullanarak şu anda bulunduğunuz saatten yalnızca bir kaç dakika ilerisini seçin.
      5. Adımda anlatılmaktadır.

    2. Planladığınız zamana kadar bekleyin ve entegrasyon sonuçlarını görmek için sayfayı yenileyin.

    3. Ürün dosyanızda herhangi bir hata olup olmadığını görmek için Log Detail butonunu kullanın.


  4. Test Detaylarında herhangi bir hata bulunmuyorsa Save URL butonunu tıklayın.

  5. Ü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 XML Dosyası

Ö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:

  1. Product View Event

  2. Add to Cart Event

  3. Product Purchase Event

  4. Product File


Ö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 

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 

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 

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ştirBu 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:

  1. 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.
  2. 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.
  3. 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 


Standart entegrasyonda kullanılan dosyada minimum olması gereken başlık bilgileri şu şekildedir:

ProductCode;ProductName;CategoryCode;CategoryName;Brand;IsActive;Inventory;OriginalPrice;DiscountedPrice;TargetURL;SmallImageURL;MediumImageURL;LargeImageURL;Rating;OriginalPriceCurrency;

DiscountPriceCurrency;ShippingOnSameDay;FreeShipping;CommentCount;DiscountRatio

Standart entegrasyonda kullanılan opsiyonel başlık bilgileri de aşağıdaki gibidir:

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;

http://www.sitename.com/pc1.html;http://www.sitename.com/p1.jpg;http://www.sitename.com/p1.jpg;http://www.sitename.com/p1.jpg;0;TL;TL;1;0;0;0;Türkiye 


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:


  1. 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.

  2. Tag yapısı tüm dosyalarda aynı olmalı, _en, _tr gibi uzantılar kullanılmamalıdır.

    https://mysite.com/products.xml?language=tr&currency=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&currency=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&currency=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_lngKullanı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_locKullanıcının bulunduğu lokasyon bilgisini içeren parametre, 2 karakterli ISO 3166-1 ülke kodu olmalıdır.
OM.p_dcKullanı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.




Ana Başlık: RMC'ye Veri Gönderimi

Copyright 2020 Related Digital