Ana içeriğe geç

OTC Emir Kuralı Oluştur

Bir düğümün tokenlarına gelen OTC tekliflerini otomatik olarak kabul eden ya da reddeden bir kural oluşturur. Düğüm gövdede gönderilir (bir kuralın kendi ID'si vardır ve koleksiyon kökünde yer alır). Düğüm API anahtarınızın düğüm alt ağacında olmalıdır; token_id ile tokenın düğümü de öyle olmalıdır.

Kurallar nasıl uygulanır: yeni bir teklif zincirde onaylandığında, teklifin düğümünün aktif (status 2) ve geçerlilik penceresi şu anı kapsayan kuralları arasından teklif için tek bir kural seçilir. Teklifin tokenıyla sınırlı kural, düğüm geneli kurala göre önceliklidir; ardından en düşük priority; ardından en yeni olan. Yalnızca o kural değerlendirilir. Teklifin fiyatı ve miktarı kurala uyuyorsa teklif için bir kabul (match_action 1) ya da iptal (match_action 2) başlatılır; uymuyorsa teklif Kabul veya İptal ile elle işlenmek üzere bırakılır.

  • Tokenın güncel birim fiyatına göre fiyat kontrolü: rule_type 1 her fiyatla eşleşir; 2, fiyat eksi below_percent %'den düşük ve fiyat artı above_percent %'den yüksek olmayan fiyatla eşleşir; 3 aynısını below_amount / above_amount ile yapar. Gönderilmeyen sınır kontrol edilmez. Tokenın fiyatı yokken yüzde kuralı hiçbir zaman eşleşmez.
  • Miktar kontrolü: tanımlıysa teklifin quantity değeri min_offer_quantity ile max_offer_quantity arasında olmalıdır.
  • Şu an yalnızca side 1 (her iki taraf) kuralları uygulanır; side 2 veya 3 olan kurallar saklanır ama hiçbir zaman eşleşmez.

Gerekli izin: otc-order-rule:upsert

İstek​

POST /v2/admin/otc-order-rules

Başlıklar​

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

Gövde​

AlanTipZorunluAçıklama
node_idstringEvetKuralın yönettiği düğüm (24 karakter hex)
namestringEvetKural adı
sideintegerEvet1 her iki taraf, 2 alış, 3 satış
rule_typeintegerEvet1 koşulsuz, 2 yüzde, 3 mutlak
statusintegerEvet1 pasif, 2 aktif
token_idstringHayırKuralı düğümün bu tokenıyla sınırlar (24 karakter hex). Düğüm geneli kural için göndermeyin
match_actionintegerHayır1 kabul, 2 ret. Varsayılan 1
above_percentstringHayırYüzde kuralı: kabul edilen en yüksek fiyat, tokenın fiyatının üzerinde yüzde olarak. "0" ile "100" arası, en fazla bir ondalık
below_percentstringHayırYüzde kuralı: kabul edilen en düşük fiyat, tokenın fiyatının altında yüzde olarak. "0" ile "100" arası, en fazla bir ondalık
above_amountstringHayırMutlak kural: kabul edilen en yüksek fiyat, tokenın fiyatının üzerinde tutar olarak (ondalık string)
below_amountstringHayırMutlak kural: kabul edilen en düşük fiyat, tokenın fiyatının altında tutar olarak (ondalık string)
min_offer_quantityintegerHayırEşleşen en küçük teklif miktarı
max_offer_quantityintegerHayırEşleşen en büyük teklif miktarı
priorityintegerHayırDüşük değerler önce denenir. Varsayılan 0
valid_fromstringHayırGeçerlilik penceresinin başlangıcı (RFC 3339)
valid_untilstringHayırGeçerlilik penceresinin sonu (RFC 3339)
consume_on_matchbooleanHayırKuralla birlikte saklanır; şu an teklifler değerlendirilirken kullanılmaz

Yüzdeler ve tutarlar ondalık string'dir; bkz. Tutarlar ve Yüzdeler.

Örnek​

curl --request POST \
--url '{{baseUrl}}/v2/admin/otc-order-rules' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"node_id": "6901350deb7ed8c1c38de4e9",
"token_id": "6909ddb65b25a8f90960506a",
"name": "Example Rule",
"side": 1,
"rule_type": 2,
"status": 2,
"priority": 1,
"above_percent": "11",
"below_percent": "23",
"min_offer_quantity": 1,
"max_offer_quantity": 4
}'

Yanıt​

201 Created

{
"id": "69110fc4afcb084457294dbc",
"node_id": "6901350deb7ed8c1c38de4e9",
"token_id": "6909ddb65b25a8f90960506a",
"side": 1,
"rule_type": 2,
"match_action": 1,
"above_percent": "11",
"below_percent": "23",
"min_offer_quantity": 1,
"max_offer_quantity": 4,
"consume_on_match": false,
"priority": 1,
"status": 2,
"name": "Example Rule",
"created_by": "000000000000000000000000",
"created_at": "2025-11-10T01:03:48.892Z",
"updated_at": "2025-11-10T01:03:48.892Z",
"is_api": true
}

Yanıt Alanları​

Oluşturulan kural, OTC Emir Kurallarını Listele satırlarıyla aynı alanlarla: id, node_id, token_id, side, rule_type, match_action, tanımlı eşik ve miktar alanları, consume_on_match, priority, status, tanımlıysa valid_from / valid_until, name, created_by, created_at, updated_at ve is_api (true).

Hatalar​

DurumKodAçıklama
40010015Doğrulama başarısız — details alanına bakın. Eksik node_id, name, side, rule_type veya status ve hatalı biçimli yüzde ya da tutar dahil
40010001 (domain 2)Düğüm bulunamadı
40010001 (domain 5)Token bulunamadı
40310005 (domain 2)Düğüm ya da tokenın düğümü, API anahtarınızın düğüm alt ağacının dışında
50010000Beklenmeyen sunucu hatası; 24 karakterlik hex olmayan bir token_id dahil

Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.