Veriyi Hazırlama

NDJSON formatı ve zorunlu alanlar

Aktarım dosyaları NDJSON biçimindedir: her satır bağımsız bir JSON nesnesi.

Örneği panelden alın

Aktarım sayfasında, seçtiğiniz veri setine göre hazır bir örnek dosya gösterilir. Üç düğmesi var: Bu örneği kullan örneği yapıştırma kutusuna doldurur, Kopyala panoya alır, Dosya olarak indir .ndjson olarak kaydeder.

En hızlı öğrenme yolu, örneği kullanıp doğrulamayı çalıştırmaktır: hiçbir şey yazılmadan raporun neye benzediğini, hangi sayıları verdiğini ve ürün kodu eşleşme oranının nasıl göründüğünü görürsünüz. Aynı sayfada her alanın ne işe yaradığını anlatan tablo da vardır.

Neden NDJSON

Tek bir dev JSON dizisi, okunmak için tamamının belleğe alınmasını gerektirir. NDJSON satır satır işlenir; dosya boyutu ne olursa olsun bellek sabit kalır.

{"externalId":"C-1","email":"ali@ornek.com"}
{"externalId":"C-2","email":"ayse@ornek.com"}

Satırlar arasında virgül yok, dosyanın etrafında köşeli parantez yok.

Müşteri kaydı

{
  "externalId": "MUSTERI-1001",
  "email": "ali@ornek.com",
  "firstSeenAt": "2019-03-14T09:12:00+03:00",
  "lastSeenAt": "2026-08-30T18:44:00+03:00",
  "traits": {
    "loyalty_tier": "gold",
    "loyalty_points": 4820,
    "city": "İstanbul",
    "marketing_consent": true
  }
}
AlanZorunluAçıklama
externalIdEvet*Sizin sistemdeki müşteri kimliği. En fazla 64 karakter.
emailDüz e-posta. Karma değeri Selwise tarafından üretilir.
emailHashE-postayı göndermek istemiyorsanız 64 karakterlik SHA-256 karması
phoneHashTelefon numarasının SHA-256 karması
firstSeenAtMüşterinin ilk göründüğü an. Kayıtlı değerle harmanlanır; yalnızca geriye çekebilir.
lastSeenAtSon hareket. Yalnızca ileriye taşıyabilir.
traitsSegmentlerde hedefleyebileceğiniz serbest alanlar

* externalId yoksa email veya emailHash'ten türetilir. Üçü de yoksa satır reddedilir.

traits neyi kabul eder

Metin, sayı, boolean ve bunlardan oluşan düz listeler saklanır. İç içe nesneler ve 100 karakterden uzun anahtarlar sessizce atılır — satır reddedilmez, o alan yazılmaz. Bir özelliğin segment kurma ekranında görünmemesinin en yaygın sebebi budur.

E-posta göndermek zorunda değilsiniz

Gizlilik açısından e-posta yerine SHA-256 karmasını gönderebilirsiniz. Selwise düz e-postayı da aynı şekilde karmalar; sonuç aynıdır.

Kimlik uzunluğu

externalId platform genelinde sınırlı uzunluktadır. Çok uzun bir kimlik doğrulama adımında reddedilir. Bu sınır bilinçlidir: daha önce uzun kimlikler kabul edilip ilk siparişte veritabanı hatası veriyordu.

Sipariş kaydı

{
  "orderId": "SIP-2024-118412",
  "siteUserId": "MUSTERI-1001",
  "placedAt": "2024-11-03T14:22:09+03:00",
  "currency": "TRY",
  "status": "delivered",
  "subtotal": 1249.00,
  "discountTotal": 125.00,
  "shippingTotal": 0,
  "taxTotal": 208.17,
  "total": 1124.00,
  "channel": "web",
  "items": [
    {
      "productItemCode": "KM0020801100044",
      "name": "Smart Colour Mascara",
      "quantity": 2,
      "unitPrice": 249.00,
      "totalPrice": 498.00
    },
    { "productItemCode": "KM0018200500011", "quantity": 1, "unitPrice": 626.00 }
  ],
  "metadata": { "storeCode": "TR-034", "couponCode": "WELCOME10" }
}
AlanZorunluAçıklama
orderIdEvetSizin sistemdeki sipariş kodu. Tekrar eden aktarımlarda tekilleştirme bununla yapılır.
placedAtEvetISO-8601 zaman damgası, tercihen UTC offset ile
siteUserIdMüşterinin externalId değeri. Yoksa emailHash ile bağlanır; o da yoksa sipariş anonim kaydedilir.
emailHashMisafir siparişini müşteriye bağlamanın tek yolu
itemsSipariş satırları
totalKoşulluSatır yoksa zorunlu
currencyVerilmezse sitenin para birimi kullanılır
statusSizin durum metniniz. İptal/iade anlamına gelenler ciro dışı sayılır.
subtotal, discountTotal, shippingTotal, taxTotalSipariş kırılımı
channelweb, app, store, callcenter
metadataMağaza kodu, kupon gibi kayıtla saklanacak diğer alanlar

Sipariş satırı alanları

AlanZorunluAçıklama
productItemCodeEvetÜrün kodu. productCode, sku, itemCode, productId adları da kabul edilir.
quantityVerilmezse 1
unitPriceprice adı da kabul edilir
totalPriceVerilmezse birim fiyat × adet
nameSipariş anındaki ürün adı (title da kabul edilir)

placedAt neden zorunlu

Siparişin gerçek tarihi budur ve tüm raporlar bu tarihe göre çalışır. Verilmezse aktarılan tüm geçmişiniz bugüne tarihlenir ve iki yıllık veri tek güne yığılır.

Saat dilimi belirtin

2024-03-14T10:22:00 gibi offset'siz bir damga belirsizdir. +03:00 ekleyin.

Ürün kodu

productItemCode alanı, ürün beslemenizdeki item_code ya da sku ile aynı olmalıdır. Bu eşleşme, aktarımın en kritik noktasıdır — doğrulama adımı size oran verir. Bkz. Doğrulama ve Uygulama.

Alan adı esnektir: productItemCode bulunamazsa sırasıyla productCode, sku, itemCode ve productId denenir. Hiçbiri yoksa satır hata vermez — ürün kodu boş kalır ve eşleşme oranı düşer. Bu yüzden doğrulama adımındaki oranı mutlaka okuyun.

Dosyayı gönderme

YöntemSınırNe zaman
URL2 milyon satıra kadarNormal kullanım
Satır içiİstek başına 1000 kayıtKüçük setler, parça parça gönderim

URL yöntemi için dosyayı HTTPS ile erişilebilir bir yere koyup adresini verirsiniz.

Satır içi yöntemde her istek bir dilim gönderir. Tekrar gönderilen bir dilim güvenlidir: kayıtlar tekil kimliklerine göre yazılır, aynı satır iki kez yazılmaz.

Satır sınırı

Tek bir satır en fazla 1 MB olabilir. Aşırı büyük traits nesneleri bu sınıra takılır.

Son güncelleme: 9 Eylül 2026

Bu sayfa yardımcı oldu mu?