Birincil Piyasadan Satın Al
Token'ı çıkaran taraftan, token'ın güncel fiyatıyla quantity adet token satın alır. Satın alma asenkrondur: bir kullanıcı işlemi (type = 1, birincil piyasadan satın alma) kaydeder ve onun transaction_id değerini döndürür. status 3 (tamamlandı) ya da 4 (hata) olana kadar Kullanıcı İşlemini Getir ile sorgulayın; kullanıcı token'lara ancak 3 sonrasında sahip olur. Platform token'ında satın alma, Kullanıcı Satın Almalarını Listele içinde hemen status = 1 (bekliyor) olarak da görünür.
wallet_id zorunludur ve token'ların alınacağı alıcı cüzdanını belirtir. Cüzdan bu kullanıcıya ait olmalı ve token'ın zincirinde bulunmalıdır; alıcının orada birden çok cüzdanı olabileceği için hiçbir zaman türetilmez. Zincir üstü satın almayı da bu cüzdan imzalar: ödeme para birimi ondan çekilir ve gas'ı o öder; belirttiğiniz cüzdanı fonlayın. Maliyeti önce Birincil Piyasa Satın Alma Fiyatı ile gösterin.
Token listelenmiş olmalıdır. Platform token'ında miktar kalan arza (listed_supply − sold_supply + purchased_supply) sığmalı ve kullanıcının elindeki miktar artı quantity, token'ın kullanıcı başına sınırını (metric.max_purchase_quantity, 0 = sınır yok; bkz. Satın Alma Miktarını Getir) aşmamalıdır.
Gerekli izin: purchase:create
İstek
POST /v2/users/{user_id}/purchases/tokens/{token_id}/buy-on-primary-market
Parametreler
| Ad | Tip | Konum | Açıklama |
|---|---|---|---|
user_id | string | path | Zorunlu. Alıcının kullanıcı ID'si |
token_id | string | path | Zorunlu. Token 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 |
|---|---|---|---|
quantity | integer | Evet | Satın alınacak tam token sayısı, en az 1 |
wallet_id | string | Evet | Token'ların alınacağı ve satın almayı imzalayan alıcı cüzdanı (wallets._id). Kullanıcıya ait olmalı ve token'ın zincirinde bulunmalıdır |
Örnek
curl --request POST \
--url '{{baseUrl}}/v2/users/680c02896d91ca0145cfeb81/purchases/tokens/68ae06cfcccf4e8fc19362d1/buy-on-primary-market' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"quantity": 10,
"wallet_id": "6a89b68e0c46ca4c941271aa"
}'
Yanıt
{
"transaction_id": "6913872755654191dede37da"
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
transaction_id | string | Satın almayı taşıyan kullanıcı işlemi. Kullanıcı İşlemini Getir ile sorgulayın |
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | Doğrulama başarısız (quantity, wallet_id) — details alanına bakın |
| 400 | 10016 | user_id, token_id ya da wallet_id geçerli 24 karakterlik hex ID değil |
| 400 | 10001 | Token bulunamadı (domain 5) |
| 400 | 10011 | Token listelenmemiş (domain 5, token is not active) |
| 400 | 10001 | Kullanıcı bulunamadı (domain 1) |
| 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 başka bir zincirde |
| 400 | 10024 | Bu miktar için yeterli arz kalmadı (domain 5) |
| 400 | 10025 | Alım, kullanıcının elindeki miktarı kullanıcı başına sınırın üzerine çıkarır (domain 5) |
| 500 | 10000 | Beklenmeyen sunucu hatası |
Alım kabul edildikten sonraki bir hata (örneğin gas için yeterli yerel bakiyesi olmayan bir cüzdan) HTTP hatasına dönüşmez: işlem status = 4 ile biter ve nedeni error alanındadır.
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.