İkincil Piyasadan Satın Al
Başka bir kullanıcının açık ikincil piyasa ilanını (deal_id) satın alır. İlan bütün olarak alınır: kontrat yalnızca anlaşma ID'sini alır ve ilanın tamamını aktarır; bu yüzden quantity ilanın quantity değerine eşit olmalıdır (Token İlanlarını Listele); başka bir değer 11004 ile reddedilir. Fiyat ilanın fiyatıdır ve alıcı alış emri ücretini bunun üstüne öder; maliyeti önce İkincil Piyasa Satın Alma Fiyatı ile gösterin.
Satın alma asenkrondur: bekleyen bir satın alma ve bir kullanıcı işlemi (type = 2, ikincil piyasadan satın alma) kaydeder ve işlemin transaction_id değerini döndürür. status 3 (tamamlandı) ya da 4 (hata) olana kadar Kullanıcı İşlemini Getir ile sorgulayın.
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; hiçbir zaman türetilmez. Satın almayı bu cüzdan imzalar ve gas'ı öder; belirttiğiniz cüzdanı fonlayın. Satıcı tarafı ilandan gelir; ilan satıldığı cüzdanı belirtir ve cüzdan belirtmeyen bir ilan satın alınamaz.
Gerekli izin: purchase:create
İstek
POST /v2/users/{user_id}/purchases/tokens/{token_id}/buy-on-secondary-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 |
|---|---|---|---|
deal_id | integer | Evet | Satın alınacak ilan (anlaşma) |
quantity | integer | Evet | İlanın quantity değerine eşit olmalıdır |
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-secondary-market' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"deal_id": 13,
"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 (deal_id, 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 | 11001 | Domain 11: bu token'da bu deal_id ile ilan yok ya da ilan cüzdan belirtmiyor ve satın alınamaz |
| 400 | 11002 | İlan açık değil (domain 11, secondary market is not active) |
| 400 | 11004 | quantity ilanın miktarına eşit değil (domain 11) |
| 400 | 10001 | Token bulunamadı (domain 5) |
| 400 | 10011 | Token listelenmemiş (domain 5, token is not active) |
| 400 | 10012 | Token ikincil piyasaya açık değil (domain 5) |
| 400 | 10001 | Alıcı ya da satıcı 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 |
| 500 | 10000 | Beklenmeyen sunucu hatası |
Alım kabul edildikten sonraki bir hata 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.