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
| Ad | Açıklama |
|---|---|
Authorization | Gerekli. Kimlik doğrulama için Bearer token |
Content-Type | Gerekli. application/json olmalı |
İstek Gövdesi
| Alan | Tip | Açıklama |
|---|---|---|
users | array | Gerekli. 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ı
| Alan | Tip | Açıklama |
|---|---|---|
total | integer | İstekteki satır sayısı. |
success | integer | Kullanıcı oluşturulan satır sayısı. |
skipped | integer | Bilinen bir nedenle atlanan satır sayısı (duplicate, eksik kimlik). |
failed | integer | Beklenmeyen hata alan satır sayısı (ör. veritabanı hatası). |
results | array | Satır bazlı sonuçlar, istekteki sırayla. |
Her results[] girişi şu alanları içerir:
| Alan | Tip | Açıklama |
|---|---|---|
email | string | İstekteki orijinal email (yoksa eklenmez). |
external_id | string | İstekteki orijinal external_id (yoksa eklenmez). |
user_id | string | Oluşturulan kullanıcının ID'si. Yalnızca created satırlarda bulunur. |
status | string | created | skipped | failed. |
reason | string | Hata sebebi. skipped ve failed satırlarda bulunur. |
Olası reason Değerleri
| Reason | Anlam |
|---|---|
missing_email_and_external_id | Satırda tanımlayıcılardan hiçbiri yoktu. |
duplicate_email | Aynı email'e sahip kullanıcı zaten var. |
duplicate_external_id | Aynı external_id değerine sahip kullanıcı zaten var. |
duplicate_wallet | Aynı cüzdan adresine sahip kullanıcı zaten var. |
| serbest metin | Oluşturma veya yayınlama sırasında beklenmeyen hata (ör. veritabanı hatası). |
Durum Kodları
| Durum Kodu | Açıklama |
|---|---|
| 200 | Başarılı — satır bazlı sonuçlar döner. Bireysel sonuçlar için results[].status alanına bakın. |
| 400 | Hatalı İstek — istek gövdesi geçersiz (boş dizi, > 500 satır, satırda wallet_address eksik). |
| 401 | Yetkisiz — Geçersiz veya eksik kimlik doğrulama token'ı. |
| 500 | Sunucu hatası. |