Cüzdansız Kullanıcı Aktarımı (CSV)
Kullanıcıları yüklenen bir CSV dosyasından aktarır; oluşturulan her kullanıcı için asenkron olarak bir custody cüzdanı oluşturulur. Satırlar toplu endpoint gibi işlenir ve yanıt aynı biçimdedir. Sınırlar: dosya en fazla 5 MB, en fazla 500 veri satırı.
CSV satırları JSON endpoint'lerinin uyguladığı istek doğrulamasından (e-posta biçimi, zorunlu değerler) geçmez; bu yüzden dosyayı yüklemeden önce kontrol edin. Özellikle her satırda geçerli bir chain_id bulunmalıdır: zinciri çözümlenemeyen bir satır, kullanıcısı cüzdansız olarak kaydedildikten sonra failed olarak raporlanır.
Gerekli izin: user:create
İstek
POST /v2/users/migrate/without-wallet/csv
Başlıklar
| Ad | Açıklama |
|---|---|
Authorization | Zorunlu. Bearer <access_token> |
Content-Type | Zorunlu. multipart/form-data |
Gövde
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
file | file | Evet | CSV dosyası (multipart form alanı). İlk satır başlıktır |
CSV biçimi
Başlık chain_id içermelidir; diğer her sütun isteğe bağlıdır ve dosyada hiç bulunmayabilir. Başlık adları büyük/küçük harf duyarsız eşleşir, sütun sırası önemli değildir, UTF-8 BOM tolere edilir ve değerler kırpılır.
| Sütun | Zorunlu | Notlar |
|---|---|---|
chain_id | Evet | Custody cüzdanının oluşturulacağı zincir (chains ID'si) |
external_id | Hayır | email boşsa zorunlu |
email | Hayır | external_id boşsa zorunlu |
name | Hayır | Boşsa saklanmaz |
surname | Hayır | Boşsa saklanmaz |
kyc_sent | Hayır | Varsayılan false. true, 1, yes, y (büyük/küçük harf fark etmez) doğru kabul edilir |
Klasik mod:
email,name,surname,chain_id,kyc_sent
auto@example.com,Auto,Wallet,6740e0a10000000000000101,false
classic@example.com,Classic,User,6740e0a10000000000000101,true
KVKK modu:
external_id,chain_id,kyc_sent
EXT-9001,6740e0a10000000000000101,true
EXT-9002,6740e0a10000000000000101,false
Örnek
curl --request POST \
--url '{{baseUrl}}/v2/users/migrate/without-wallet/csv' \
--header 'Authorization: Bearer <access_token>' \
--form 'file=@./users.csv'
Yanıt
Toplu endpoint ile aynı biçimde.
{
"total": 2,
"success": 2,
"skipped": 0,
"failed": 0,
"results": [
{ "external_id": "EXT-9001", "user_id": "6913872755654191dede37da", "status": "created" },
{ "external_id": "EXT-9002", "user_id": "6913872755654191dede37db", "status": "created" }
]
}
Hatalar
Hepsi 400 ve 10015 kodludur; message sorunu belirtir.
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | file is required: file form alanı eksik |
| 400 | 10015 | file too large: 5 MB'tan büyük |
| 400 | 10015 | csv header is required: ilk satır okunamadı |
| 400 | 10015 | missing csv column: chain_id |
| 400 | 10015 | csv exceeds row limit: 500'den fazla veri satırı |
| 400 | 10015 | csv has no rows: yalnızca başlık var |
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.