Bu sayfa otomatik olarak çevrilmiştir. İngilizce orijinal kanonik versiyondur. İngilizce oku →
Ana içeriğe geç

API Hataları

İsteğe karşılık gelen yanıt yüzeyini kullanın:

  • HTTP hatası: 4xx veya 5xx JSON yanıtı, kararlı code ve tanılama amaçlı message alanlarını içerir.
  • Emir sonucu: HTTP 200 emir yanıtı yine de reddedilmiş olabilir. status ve reason alanlarını kontrol edin.
  • JSON-RPC yanıtı: JSON-RPC uç noktaları, sayısal error.code değerlerini HTTP 200 yanıtı içinde korur.

HTTP Hata Yanıtları​

API tarafından üretilen her HTTP 4xx ve 5xx JSON hata yanıtı şunları içerir:

{
"error": "existing endpoint value, when present",
"code": "invalid_field",
"message": "price must be greater than zero"
}

code programatik sözleşmedir. Mantığınızı bu küçük harfli tanımlayıcıya göre dallandırın ve gelecekte eklenebilecek bilinmeyen değerleri güvenli şekilde ele alın. message tanılama metnidir. Gösterin veya loglayın, ancak ayrıştırmayın.

error korunan eski bir alandır. Bazı uç noktalar bu alanı zaten sunuyor ve sunmaya devam ediyor, ancak opak bir alandır ve yeni sözleşmenin parçası değildir. Hazır olma ayrıntıları ve Retry-After gibi mevcut uç noktaya özgü alanlar yerinde kalır.

HEAD yanıtlarının gövdesi yoktur. HTTP durum kodlarını normal şekilde kullanın; Hypercall ayrı bir hata kodu başlığı eklemez.

Çekim Ön Kontrolü​

Core teslimatlı USDC çekimleri, yeni bir çekimi kabul etmeden önce alıcının aktivasyonunu ve transfer uyumluluğunu kontrol eder. withdrawal_destination_inactive ve withdrawal_destination_mode_unsupported hatalarını hedef hataları olarak ele alın. withdrawal_preflight_unavailable, doğrulamanın geçici olarak kullanılamadığı anlamına gelir. withdrawal_source_unavailable, hizmetin uyumlu bir gönderen hesabı veya rotayı geri getirmesini gerektirir.

Bu hatalar yeni bir çekim borçlandırması oluşturmaz. Daha önce kabul edilmiş bir talep mevcut durumunu korur. Başarılı bir ön kontrol teslimatı garanti etmez; çekimin yürütme durumunu izlemeye devam edin. Yalnızca EVM çekimleri HyperCore hesap uygunluğu gerektirmez.

Portföy Teminatı Hesap Modu​

Portföy teminatı, Hesabı HyperCore özkaynağı üzerinden değerler; HyperCore bu özkaynağı yalnızca unifiedAccount modundaki Hesaplar için yayınlar.

  • portfolio ile POST /margin-mode, Hesap başka bir moddayken 400 pm_account_not_unified döndürür. hl_set_abstraction direktifini unifiedAccount soyutlamasıyla imzalayın, HyperCore'un onaylamasını bekleyin, ardından tekrar deneyin.
  • Güncel HyperCore özkaynağı olmayan bir portföy teminatı Hesabı için GET /portfolio, HyperCore Hesap için hiç özkaynak yayınlamamışsa ve Hesabı başka bir modda bildiriyorsa 409 pm_account_not_unified döndürür. Aksi halde, güncel bir unified anlık görüntüsü motora ulaşana kadar 503 pm_account_equity_pending döndürür; tutulan özkaynak eskimişse ve HyperCore başka bir mod bildiriyorsa, mesaj o modu belirtir. pm_account_equity_pending durumunda kısa süre sonra tekrar deneyin ve mesaj Hesabın unified moddan çıktığını söylüyorsa unified modu yeniden etkinleştirin.
  • account_abstraction_unavailable (503), HyperCore hesap modunun okunamadığı anlamına gelir. Kısa süre sonra tekrar deneyin.

RFQ Bacak Büyüklükleri​

Kontrat büyüklükleri 0.000001 birimleriyle yürütülür. POST /rfq/request, altı ondalık basamaktan fazlasına sahip bir bacak büyüklüğünü HTTP 400 ile reddeder; mesaj, aşağı yuvarlanmış en büyük yürütülebilir büyüklüğü belirtir. Hypercall büyüklüğü sizin yerinize yuvarlamaz, çünkü alıcı taraf (taker) bacak büyüklüklerini tam olarak imzalar. İmzalamadan önce aşağı yuvarlayın ve yeniden gönderin.

RFQ Kotasyon Ön Kontrol Nedenleri​

Ön kontrol sırasında reddedilen bir piyasa yapıcı kotasyonu kısa bir neden kodu taşır. margin_rejected, piyasa yapıcının hesabının paket için teminat kontrolünü geçemediği anlamına gelir. pricing_unavailable, platformun paketi değerleyemediği anlamına gelir; örneğin bir zımni oynaklık yüzeyi veya referans fiyat eksik olabilir. Bu bir teminat kararı değildir ve fiyatlama düzeldiğinde yeni bir kotasyon başarılı olabilir.

Emir Retleri​

Bir emir, reddedilmiş bir yürütme sonucuyla HTTP 200 döndürebilir:

{
"status": "REJECTED",
"reason": "Insufficient margin: required=1500.00, equity=1200.00, shortfall=300.00, current_consumed_initial_margin=900.00, incremental_order_initial_margin=600.00, current_consumed_maintenance_margin=500.00, incremental_order_maintenance_margin=250.00"
}

reason açıklayıcı bir metindir, kararlı bir kod değildir. Canlı değerler içerebilir ve doğrulama mantığı geliştikçe değişebilir. Yetersiz portföy teminatı durumunda required, emir sonrası toplam başlangıç teminatıdır; current_consumed_* ve incremental_order_* alanları ise mevcut kullanımı yeni emirden ayırır. Reddedilen bir emri tanımlamak için status alanını kullanın, ardından reason alanını gösterin veya loglayın. Kararlı bir emir reddi kodu sözleşmesi ayrı bir protokol ve SDK çalışması gerektirir.

Portföy teminatlı perp emirleri için open_orders_initial_margin, canlı emirler genelinde bağımsız olarak seçilebilen en kötü dolmamış veya tam limit dolum durumundan kaynaklanan ek başlangıç teminatıdır (IM). Bir emir, hesap IM'nin altındayken yalnızca eklenmesi bu zarfı veya karşılık gelen en kötü dolum sürdürme teminatı kapasite gereksinimini artırmıyorsa kabul edilebilir. Açık emirler yine de yayınlanan pozisyon sürdürme teminatını (MM) değiştirmez. İstemciler, kabul edilmenin mevcut hesabın tamamen fonlandığı anlamına geldiği sonucunu çıkarmamalı ve fonlanmış kabul ile kötüleştirmeyen kabulü ayırt etmek için tanılama amaçlı reason alanını ayrıştırmamalıdır.

JSON-RPC Hataları​

GET /orderbook, eksik bir enstrüman için JSON-RPC tarzı yanıtını HTTP 200 ile korur:

{
"jsonrpc": "2.0",
"error": {
"code": 13020,
"message": "not_found",
"data": {"object": "instrument_name", "value": "BTC-20200101-1-C"}
},
"testnet": false,
"usDiff": 1,
"usIn": 1791273938274109,
"usOut": 1791273938274109
}

Mantığınızı sayısal error.code değerine göre dallandırın. RSM'ye özgü JSON-RPC kodları varsayılan genel HTTP kataloğunun parçası değildir.

Genel Hata Kodu Kataloğu​

Bu aranabilir katalog, genel OpenAPI belgesindeki info.x-hypercall-error-codes uzantısından oluşturulur. Yalnızca kullanıcıya yönelik HTTP kodlarını ve her zaman etkin JSON-RPC kodlarını içerir.

Loading API error catalog…

İşleme Kontrol Listesi​

  • HTTP istemcileri: code değerine göre dallandırın, HTTP durum kodunu koruyun ve mevcut olduğunda Retry-After değerine uyun.
  • Emir istemcileri: HTTP isteği başarılı olsa bile status: "REJECTED" değerini bir yürütme sonucu olarak ele alın.
  • JSON-RPC istemcileri: uç noktanın yerel protokolü için sayısal error.code değerine göre dallandırın.
  • Tüm istemciler: gelecekte eklenebilecek bilinmeyen kodlar için güvenli bir yedek davranış bulundurun ve tanılama mesajlarını asla ayrıştırmayın.