Ana içeriğe geç

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​

AdTipKonumAçıklama
user_idstringpathZorunlu. Alıcının kullanıcı ID'si
token_idstringpathZorunlu. Token ID'si

Başlıklar​

AdAçıklama
AuthorizationZorunlu. Bearer <access_token>
Content-TypeZorunlu. application/json

Gövde​

AlanTipZorunluAçıklama
quantityintegerEvetSatın alınacak tam token sayısı, en az 1
wallet_idstringEvetToken'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ı​

AlanTipAçıklama
transaction_idstringSatın almayı taşıyan kullanıcı işlemi. Kullanıcı İşlemini Getir ile sorgulayın

Hatalar​

DurumKodAçıklama
40010015Doğrulama başarısız (quantity, wallet_id) — details alanına bakın
40010016user_id, token_id ya da wallet_id geçerli 24 karakterlik hex ID değil
40010001Token bulunamadı (domain 5)
40010011Token listelenmemiş (domain 5, token is not active)
40010001Kullanıcı bulunamadı (domain 1)
40010015Domain 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
40010024Bu miktar için yeterli arz kalmadı (domain 5)
40010025Alım, kullanıcının elindeki miktarı kullanıcı başına sınırın üzerine çıkarır (domain 5)
50010000Beklenmeyen 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.