Ana içeriğe geç

İ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​

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
deal_idintegerEvetSatın alınacak ilan (anlaşma)
quantityintegerEvetİlanın quantity değerine eşit olmalıdır
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-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ı​

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 (deal_id, quantity, wallet_id) — details alanına bakın
40010016user_id, token_id ya da wallet_id geçerli 24 karakterlik hex ID değil
40011001Domain 11: bu token'da bu deal_id ile ilan yok ya da ilan cüzdan belirtmiyor ve satın alınamaz
40011002İlan açık değil (domain 11, secondary market is not active)
40011004quantity ilanın miktarına eşit değil (domain 11)
40010001Token bulunamadı (domain 5)
40010011Token listelenmemiş (domain 5, token is not active)
40010012Token ikincil piyasaya açık değil (domain 5)
40010001Alıcı ya da satıcı kullanı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
50010000Beklenmeyen 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.