Token Geçmişini Getir
Bir token'ın geçmişinden bir sayfayı en yeniden eskiye döndürür. Her satır, bir değişiklik anındaki token value, metric ve meta (görseller ve belgeler) değerlerinin anlık görüntüsüdür. Kullanıcıya dönük token okumaları en son satırı gösterir; yani geçmiş, yatırımcıların gördüğü şeydir:
- zincir dışı bir değişiklik (işlem başlatmayan Token Güncelle ya da Token Metriğini Güncelle) hemen
change_reason: "offchain_update"ile bir satır yazar; - zincir üstü bir değişiklik satırını yalnızca işlemi sonuçlandığında
change_reason: "contract_confirm"ile yazar. O zamana kadar yatırımcılar önceki satırı görmeye devam eder.
Gerekli izin: token:transactions:view
İstek
GET /v2/admin/tokens/{token_id}/history?page=1&per_page=20
Parametreler
| Ad | Tip | Konum | Açıklama |
|---|---|---|---|
token_id | string | path | Zorunlu. Token id'si. |
page | integer | query | Zorunlu. Sayfa numarası, 1'den başlar. |
per_page | integer | query | Zorunlu. Sayfa boyutu, 1 ile 100 arası. |
start_date | string | query | İsteğe bağlı. Bu zamanda ya da sonrasında oluşturulan satırlar (RFC 3339, örn. 2025-01-01T00:00:00Z). |
end_date | string | query | İsteğe bağlı. Bu zamanda ya da öncesinde oluşturulan satırlar (RFC 3339). |
changed_by | string | query | İsteğe bağlı. Bu supervisor'ın yazdığı satırlar. |
Başlıklar
| Ad | Açıklama |
|---|---|
Authorization | Zorunlu. Bearer <access_token> |
Örnek
curl --request GET \
--url '{{baseUrl}}/v2/admin/tokens/67d8774e903bfcbe7eb5d93e/history?page=1&per_page=20&start_date=2025-01-01T00:00:00Z&end_date=2025-12-31T23:59:59Z' \
--header 'Authorization: Bearer <access_token>'
Yanıt
{
"data": [
{
"id": "698619c3309c93aca937c695",
"token_id": "67d8774e903bfcbe7eb5d93e",
"node_id": "67d6c447f47ff3adafda700d",
"changed_by": "665b372f3a72d7d0791596ba",
"change_type": "full_snapshot",
"change_reason": "offchain_update",
"value": {
"token_price": {
"id": "68fe8c129367fd414b227c7a",
"amount": "9.6",
"decimal": 6,
"symbol": "USDT",
"address": "0x073c0196e516a0e77b1c804d1825fb1bad23895d"
},
"max_supply": 1000,
"total_value": {
"id": "68fe8c129367fd414b227c7a",
"amount": "12000",
"decimal": 6,
"symbol": "USDT",
"address": "0x073c0196e516a0e77b1c804d1825fb1bad23895d"
},
"salable_percentage": "80",
"salable_value": {
"id": "68fe8c129367fd414b227c7a",
"amount": "9600",
"decimal": 6,
"symbol": "USDT",
"address": "0x073c0196e516a0e77b1c804d1825fb1bad23895d"
},
"purchased_supply": 0,
"listed_supply": 800,
"sold_supply": 200,
"total_fee_supply": 30
},
"metric": {
"term_duration_in_months": 12,
"min_purchase_quantity": 1,
"max_purchase_quantity": 100,
"min_tokens_required_for_rental_income": 10,
"rental_income": {
"id": "68fe8c129367fd414b227c7a",
"amount": "100",
"decimal": 6,
"symbol": "USDT",
"address": "0x073c0196e516a0e77b1c804d1825fb1bad23895d"
},
"rental_payment_period_in_days": 30,
"rental_payment_start_date": "2025-04-01T00:00:00Z",
"listing_date": "2025-03-18T09:12:44.512Z",
"expiration_date": null
},
"meta": {
"images": [
{
"id": "67d8774e903bfcbe7eb5d93f",
"url": "https://cdn.example.com/dev/token/67d8774e903bfcbe7eb5d93e/images/9e6e15fc-57ea-4de9-a2e1-9ee945908ce1.png",
"is_default": true,
"hash": "4b7e9f0c2d1a8e6b5c3f7a9d0e2b4c6a8f1d3e5b7c9a0f2e4d6b8a1c3e5f7a9b",
"created_at": "2025-03-17T19:26:06.905Z"
}
],
"documents": [
{
"id": "67d8774e903bfcbe7eb5d940",
"name": "prospectus.pdf",
"url": "https://bucket.s3.amazonaws.com/dev/token/67d8774e903bfcbe7eb5d93e/documents/0d295c7d-fff2-40fc-a184-3119c14ef61a.pdf?X-Amz-Expires=900&X-Amz-Signature=...",
"type": 1,
"hash": "9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b",
"created_at": "2025-03-17T19:26:06.905Z"
}
]
},
"created_at": "2025-03-20T16:41:39.864Z"
}
],
"total": 1,
"page": 1,
"per_page": 20
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
data[].id | string | Geçmiş satırının id'si. |
data[].token_id | string | Token id'si. |
data[].node_id | string | Token'ın düğümü. |
data[].changed_by | string | Değişikliği yapan supervisor. Bir supervisor yapmadıysa (API istemcisi ya da sonuçlanma) yer almaz. |
data[].change_type | string | Satırın neyi tuttuğu, bkz. change_type Enum. |
data[].change_reason | string | Neden yazıldığı, bkz. change_reason Enum. |
data[].value | object | O değişiklikteki token value değeri: Token Getir alanları ile total_fee_supply (ücretler için ayrılan token'lar). |
data[].metric | object | O değişiklikteki token metric değeri; Token Getir alanları ile expiration_date (string | null). Token'ın metriği yoksa yer almaz. |
data[].meta | object | O değişiklikteki görseller ve belgeler. Kaydedilmediyse yer almaz. Her görselde id, url, is_default, hash, created_at ve kaldırıldıysa deleted_at; her belgede id, name, url, type, hash, created_at ve kaldırıldıysa deleted_at bulunur. |
data[].created_at | string | Değişikliğin kaydedildiği zaman (RFC 3339). |
total | integer | Eşleşen satır sayısı. |
page | integer | İstekte gönderilen sayfa numarası. |
per_page | integer | İstekte gönderilen sayfa boyutu. |
meta.documents[].url, belgeyi 15 dakika boyunca açan ve her okumada yeniden üretilen imzalı bir bağlantıdır; saklamayın. Kaydı başka bir depoyu gösteren belge kaydedildiği gibi döner; harici bir token'ın belgesi ise geldiği owner kurulumu tarafından imzalanır.
change_type Enum
| Değer | Anlamı |
|---|---|
full_snapshot | value, metric ve meta birlikte kaydedilir. Zincir dışı güncellemeler ve sonuçlanan zincir üstü güncellemeler bu tipi yazar. |
value_update | Satır bir değer değişikliğini kaydeder. |
metric_update | Satır bir metrik değişikliğini kaydeder. |
change_reason Enum
| Değer | Anlamı |
|---|---|
offchain_update | Zincir dışı bir güncelleme; çağrı döndüğünde yazılır. |
contract_confirm | Zincir üstü bir güncelleme; işlemi sonuçlandığında yazılır. |
manual_update | Güncelleme uç noktaları dışında yapılan elle bir değişiklik. |
market_adjustment | Bir piyasa yeniden fiyatlaması. |
system_update | Bir sistem yazımı (bakım ya da taşıma). |
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | Doğrulama başarısız (page ya da per_page eksik veya aralık dışı, RFC 3339 olmayan bir tarih) — details alanına bakın |
| 400 | 10016 | token_id ya da changed_by geçerli bir id değil |
| 400 | 10001 | Token bulunamadı (token domain'i 5) |
| 403 | 10005 | Çağıranın düğümü token'ın düğümünü kapsamıyor (düğüm domain'i 2) |
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.