Kullanıcı Cüzdanından Para Çekme
Kullanıcının cüzdanlarından birinden harici bir adrese native coin ya da para birimi token'ı gönderir. Cüzdanı (wallet_id) ve ağı (network_id) çağıran seçer; sunucu hiçbir zaman kullanıcının başka bir cüzdanına geri düşmez. Cüzdan kullanıcıya ait olmalı ve ağın zincirinde bulunmalıdır. Token çekiminde network_id, para birimi token'ının kendi ağı olmalıdır.
Çağrı asenkrondur. 10 (Withdraw) tipinde, 1 (Started) durumunda bir kullanıcı işlemi oluşturur ve ID'sini döndürür. status değeri 3 (Done, hash dolu) ya da 4 (Error, error dolu) olana kadar Kullanıcı İşlemini Getir ile sorgulayın. Transfer, belirtilen cüzdandan custody sağlayıcısı tarafından gerçekleştirilir.
Gerekli izin: user:withdraw
İstek
POST /v2/users/{user_id}/withdraw
Parametreler
| Ad | Tip | Konum | Açıklama |
|---|---|---|---|
user_id | string | path | Zorunlu. Kullanıcı ID'si |
Başlıklar
| Ad | Açıklama |
|---|---|
Authorization | Zorunlu. Bearer <access_token> |
Content-Type | Zorunlu. application/json |
Gövde
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
wallet_id | string | Evet | Fonların çıkacağı kullanıcı cüzdanı (bkz. Kullanıcı Cüzdanlarını Listele) |
network_id | string | Evet | Transferin çalışacağı ağ. Cüzdanın zincirinde olmalı; token çekiminde para birimi token'ının ağı olmalı |
address | string | Evet | Hedef adres (0x + 40 hex karakter) |
amount | string | Evet | Gönderilecek tutar, ondalık string olarak. Sıfırdan büyük olmalı ve varlığın ondalık basamağından (para birimi token'ının decimals değeri ya da ağın native coin ondalığı) fazla basamak taşımamalı. Bkz. Tutarlar ve Yüzdeler |
currency_token_id | string | Hayır | Gönderilecek para birimi token'ı. Ağın native coin'ini göndermek için göndermeyin |
Örnek
curl --request POST \
--url '{{baseUrl}}/v2/users/6a87455ad5f439809d488ac3/withdraw' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"wallet_id": "6a8754e187be1d0e22aa6d83",
"network_id": "6740e0a20000000000000103",
"address": "0x4A096E485281DE1B8bF11A511D39d5B128EF7C4b",
"amount": "10.5",
"currency_token_id": "6913307ec95e268b239b2d8b"
}'
Yanıt
{
"transaction_id": "6a8b5e13f9129816a6cc7a12"
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
transaction_id | string | Kullanıcı İşlemini Getir ile sorgulanacak kullanıcı işlemi. data alanı address, amount ve token çekiminde currency_token_id taşır |
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | Doğrulama hatası (wallet_id / network_id / address eksik, address bir Ethereum adresi değil, amount eksik, pozitif değil ya da fazla ondalıklı) — details alanına bakın |
| 400 | 10016 | user_id, wallet_id ya da network_id geçerli bir ID değil |
| 400 | 10000 | currency_token_id geçerli bir ID değil |
| 400 | 10001 | Kullanıcı bulunamadı (domain 1) |
| 400 | 10015 | currency token not found, network not found ya da network_id must be the currency token's network |
| 400 | 10015 | Domain 1: wallet does not belong to this user on this network — cüzdan yok, bu kullanıcıya ait değil ya da ağın zincirinde değil |
Son satır, ortak doğrulama hatasıyla aynı 10015 numarasını paylaşır; ikisini domain ile ayırt edin (1 ve 100). Kabulden sonra oluşan bir hata (örneğin custody sağlayıcısının transferi reddetmesi) HTTP hatasına dönüşmez: işlem 4 durumunda biter ve sebep error alanına yazılır.
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.