Ana içeriğe geç

Cüzdanlı Kullanıcı Aktarımı (CSV)

CSV dosyası yükleyerek cüzdan adresine sahip kullanıcıları sisteme aktarır. Limitler ve yanıt yapısı Bulk JSON endpoint ile aynıdır: en fazla 500 satır, maksimum dosya boyutu 5 MB, satır bazlı sonuçlar.

İstek

POST /v2/users/users/migrate/with-wallet/csv

Başlıklar

AdAçıklama
AuthorizationGerekli. Kimlik doğrulama için Bearer token
Content-TypeGerekli. multipart/form-data olmalı

Form Alanları

AdAçıklama
fileGerekli. CSV dosyası. İlk satır başlık olarak yorumlanır.

CSV Formatı

İlk satır başlıktır. Sadece wallet_address zorunludur; diğer tüm sütunlar opsiyoneldir ve dosyadan tamamen çıkarılabilir.

SütunTipZorunluNotlar
wallet_addressstringEvetSunucuda küçük harfe normalize edilir.
external_idstringHayıremail yoksa gereklidir. Boşluk karakterleri trim edilir.
emailstringHayırexternal_id yoksa gereklidir.
namestringHayırYoksa veya boşsa null saklanır.
surnamestringHayırYoksa veya boşsa null saklanır.
kyc_sentbooleanHayırVarsayılan false. Kabul edilen doğru değerler: true, 1, yes, y (büyük/küçük harf duyarsız).

Dosya başındaki UTF-8 BOM karakterine tolerans gösterilir. Sütun sırası önemli değildir — parser başlık adına göre eşleştirir.

Örnek — Klasik mod (tek satır)

email,name,surname,wallet_address,kyc_sent
john@example.com,John,Doe,0xAbCdEf0123456789ABCDEF0123456789ABCDEF01,false

Örnek — KVKK modu (kişisel bilgi yok)

external_id,wallet_address,kyc_sent
EXT-1042,0xAbCdEf0123456789ABCDEF0123456789ABCDEF01,true
EXT-1043,0x2222222222222222222222222222222222222222,false

Örnek — Karışık

external_id,email,name,surname,wallet_address,kyc_sent
EXT-1042,,,,0x1111111111111111111111111111111111111111,true
,alice@example.com,Alice,Smith,0x2222222222222222222222222222222222222222,false

cURL Örneği

curl --location '{{baseUrl}}/v2/users/users/migrate/with-wallet/csv' \
--header 'Authorization: Bearer <token>' \
--form 'file=@./users.csv'

Yanıt

Bulk JSON endpoint ile aynıdır: toplam sayaçlar ve satır bazlı results[] dizisi.

{
"total": 2,
"success": 2,
"skipped": 0,
"failed": 0,
"results": [
{ "external_id": "EXT-1042", "user_id": "6913872755654191dede37da", "status": "created" },
{ "external_id": "EXT-1043", "user_id": "6913872755654191dede37db", "status": "created" }
]
}

Durum Kodları

Durum KoduAçıklama
200Başarılı — satır bazlı sonuçlar döner.
400Hatalı İstek — dosya yok, dosya çok büyük, başlıkta wallet_address yok, CSV satır limitini aşıyor veya boş dosya.
401Yetkisiz — Geçersiz veya eksik kimlik doğrulama token'ı.
500Sunucu hatası.

Sık Karşılaşılan 400 Hata Mesajları

MesajSebep
file is requiredfile form alanı eksik.
file too largeDosya 5 MB sınırını aşıyor.
csv header is requiredİlk satır parse edilemedi.
missing csv column: wallet_addressZorunlu sütun başlıkta yok.
csv exceeds row limit500'den fazla veri satırı.
csv has no rowsBaşlık var ama veri satırı yok.