Ana içeriğe geç

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

Tek bir istekte en fazla 500 kullanıcıyı, her biri cüzdan adresine sahip olarak sisteme aktarır. Hatalar satır bazında raporlanır — bireysel satırlar atlansa bile isteğin kendisi HTTP 200 ile başarılı döner.

İstek

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

Başlıklar

AdAçıklama
AuthorizationGerekli. Kimlik doğrulama için Bearer token
Content-TypeGerekli. application/json olmalı

İstek Gövdesi

AlanTipAçıklama
usersarrayGerekli. 1–500 arası kullanıcı nesnesi. Her nesne tekil endpoint şeması ile aynıdır.

Örnek

curl --location '{{baseUrl}}/v2/users/users/migrate/with-wallet/bulk' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"users": [
{
"email": "alice@example.com",
"name": "Alice",
"surname": "Smith",
"wallet_address": "0x1111111111111111111111111111111111111111"
},
{
"external_id": "EXT-2042",
"wallet_address": "0x2222222222222222222222222222222222222222",
"kyc_sent": true
},
{
"email": "dup@example.com",
"wallet_address": "0x3333333333333333333333333333333333333333"
}
]
}'

Yanıt

Durum Kodu: 200 OK

{
"total": 3,
"success": 2,
"skipped": 1,
"failed": 0,
"results": [
{
"email": "alice@example.com",
"user_id": "6913872755654191dede37da",
"status": "created"
},
{
"external_id": "EXT-2042",
"user_id": "6913872755654191dede37db",
"status": "created"
},
{
"email": "dup@example.com",
"status": "skipped",
"reason": "duplicate_email"
}
]
}

Yanıt Alanları

AlanTipAçıklama
totalintegerİstekteki satır sayısı.
successintegerKullanıcı oluşturulan satır sayısı.
skippedintegerBilinen bir nedenle atlanan satır sayısı (duplicate, eksik kimlik).
failedintegerBeklenmeyen hata alan satır sayısı (ör. veritabanı hatası).
resultsarraySatır bazlı sonuçlar, istekteki sırayla.

Her results[] girişi şu alanları içerir:

AlanTipAçıklama
emailstringİstekteki orijinal email (yoksa eklenmez).
external_idstringİstekteki orijinal external_id (yoksa eklenmez).
user_idstringOluşturulan kullanıcının ID'si. Yalnızca created satırlarda bulunur.
statusstringcreated | skipped | failed.
reasonstringHata sebebi. skipped ve failed satırlarda bulunur.

Olası reason Değerleri

ReasonAnlam
missing_email_and_external_idSatırda tanımlayıcılardan hiçbiri yoktu.
duplicate_emailAynı email'e sahip kullanıcı zaten var.
duplicate_external_idAynı external_id değerine sahip kullanıcı zaten var.
duplicate_walletAynı cüzdan adresine sahip kullanıcı zaten var.
serbest metinOluşturma veya yayınlama sırasında beklenmeyen hata (ör. veritabanı hatası).

Durum Kodları

Durum KoduAçıklama
200Başarılı — satır bazlı sonuçlar döner. Bireysel sonuçlar için results[].status alanına bakın.
400Hatalı İstek — istek gövdesi geçersiz (boş dizi, > 500 satır, satırda wallet_address eksik).
401Yetkisiz — Geçersiz veya eksik kimlik doğrulama token'ı.
500Sunucu hatası.