# Veri Şifreleme Formatı ve Testi


Aşağıdaki tabloda, Satış Verisi’ndeki alanların hangilerinin zorunlu olduğu ve hangilerinin şifrelenmesi (hash) gerektiği bilgisi örnekleri ile birlikte yer almaktadır.

# Alanlar Tablosu

Column Name Description Mandatory Needs to be Hashed Example
Email - Include a domain name for all email addresses
- Remove spaces
- All lowercase letters
Strongly recommended Y user1@gmail.com
user2@yahoo.com
First Name - Lowercase, accents allowed
- Remove unnecessary spaces
Optional Y şükran, çağrı, mehmet ali
Last Name - Lowercase, accents allowed
- Remove unnecessary spaces
Optional Y yılmaz, şahin yıldız
Gender f/m tek harf Optional Y f, m
City Lowercase, accents allowed Optional N istanbul, paris
State 2-letter US / district for TR Optional N TR, CA, NY
Zip US/International zip formats Optional N 06420, 94109
Country ISO two-letter country code Required N TR, US, DE
Phone Number E.164 format (+cc) Strongly recommended Y +90555112233
Conversion Name Name of conversion action Required N Store Sales
Conversion Time yyyy-MM-dd HH:mm:ss+z Required N 2023-08-14T13:00:00+0300
Conversion Value Numeric (no symbols) Required N 100, 99.90
Conversion Currency 3-char ISO 4217 Required N TRY, USD, EUR
Order Id Unique ID for each transaction Optional N ATN10001, 123456
Store Code ERP/store code Optional N A1234, Shop77
Contents Products in transaction Optional N -
Contents_ID_# Unique product ID Conditionally required N product123
Contents_Quantity_# Quantity of item sold Conditionally required N 1, 10
Contents_Price_# Price per item Conditionally required N 100, 99.90
Contents_Category_# Category of item Optional N Shoes
Contents_Brand_# Brand name of item Optional N Nike

# Kontrol Listesi

İlgili veri ekibinizin, veri hash’lemenin doğru yapıldığını teyit etmesi gerekir. Önerilen kontrol:

  1. Ham değerleri normalize edin.

    • E-posta: küçük harf, boşluksuz
    • Telefon: E.164 formatı, boşluk/tire yok
    • İsimler: küçük harf, gereksiz boşlukları silin, aksan korunur
    • Cinsiyet: f/m tek harf
  2. SHA-256 ile hash’leyin.

    • UTF-8 girdi
    • salt/HMAC yok
    • Çıktı: 64 karakterlik küçük harf hex
  3. Örnek çift karşılaştırması

    • Ham: user1@gmail.com → Hash: b45c... (64 karakter)
    • Ham: +90555112233 → Hash: 0a3e...
  4. CSV karşılaştırması

    • non-hashed.csv içindeki hücre ile hashed.csv aynı satır/sütunda tutarlı olmalı
    • Boş değerler boş kalmalı, hash’lenmemeli

İpucu: Terminal/Powershell ile tek değer testi yapıp sonucun 64 karakterlik hex olduğundan emin olun. (Örn. echo -n "user@x.com" | shasum -a 256)

📂 Örnek Dosyalar
Aşağıdan örnek dosyalara ulaşabilirsiniz.

single-hashed.csv
single-non-hashed.csv


# Not

Tarafınıza gönderilen hashed ve unhashed örnek datasetlerin amacı, önce unhashed veriyi kendi tarafında SHA-256 ile şifrelemesini sağlamak ve çıkan sonucu bizim gönderdiğimiz hashed veriyle karşılaştırarak doğrulamaktır.

Bu adım atlandığında ve doğrudan şifreleme yapıldığında, doğru eşleşmenin teyiti sağlanamayacağından ölçümleme sürecinde hatalar ve uyumsuzluklar yaşanabilir.

📂 Örnek Dosyalar
Aşağıdaki linklerden örnek dosyalara ulaşabilirsiniz.

Aşağıdaki linkler debuggin amacıyla eklenmiş bir hash'lenmemiş form bulunmaktadır; bu form, sizlerden talep edilen versiyon değildir. Gönderim için gerekli olan versiyon hash'lenmiş formdur.

Aşağıda, satılan ürün ve mağaza kodu gibi isteğe bağlı sipariş alanlarını, kullanıcı cinsiyeti alanlarını içeren formatlar yer almaktadır. Sütun adlarındaki sayısal değişikliklere (örneğin, Contents_Quantity_1, Contents_Quantity_2) dikkat ediniz.