GENE BİLGİLER
Online Support avatar
Yazar: Online Support
Bir haftadan uzun bir süre önce güncellendi

API Temel Bilgileri

  • baseurl https://openapi.xxx.com

  • Tüm uç noktalar, bir JSON nesnesi veya dizisi döndürür.

  • Veriler Ters sırada döndürülür. önce en yeni, en eski en son.

  • Tüm zaman ve zaman damgası ile ilgili alanlar milisaniye cinsindendir.
    HTTP Hata Kodları

    HTTP 4XX dönüş kodları, hatalı biçimlendirilmiş istekler için kullanılır; Sorun gönderici tarafında.

    HTTP 429 dönüş kodu, bir istek oranı sınırını aşarken kullanılır.

    HTTP 418 dönüş kodu, 429 kod aldıktan sonra istek göndermeye devam etmek için bir IP otomatik olarak yasaklandığında kullanılır.

    Dahili hatalar için HTTP 5XX dönüş kodları kullanılır

  • API mesajı başarıyla gönderdiğinde ancak zaman aşımı süresi içinde yanıt alamadığında HTTP 504 dönüş kodu kullanılır. Bunu bir başarısızlık operasyonu olarak GÖRMEMEK önemlidir; yürütme durumu BİLİNMİYOR ve başarılı olabilirdi.

  • Tüm uç noktalar muhtemelen bir HATA döndürebilir, hata yükü aşağıdaki gibidir:
    1
    {
    2
    "kod":-1121,
    3
    "msg":"Geçersiz sembol."
    4
    }

    kopyalandı!
    Genel bilgi

    Tüm istekler Https protokolüne dayalıdır ve istek başlığı bilgilerindeki İçerik Türü'nün tek tip olarak şu şekilde ayarlanması gerekir:'application/json'

    GET yönteminin arabirimi için parametreler sorgu dizesinde gönderilmelidir.

    POST yönteminin arayüzü, parametreler istek gövdesine gönderilmelidir.

    Parametreler herhangi bir sırayla gönderilebilir.
    SINIRLAR

    Her arayüzün altında sınırlı bir frekans açıklaması olacaktır.

    Herhangi bir hız sınırı ihlal edildiğinde bir 429 iade edilecektir.

    Herhangi bir hız sınırı ihlal edildiğinde bir 429 iade edilecektir.
    Uç Nokta Güvenlik Türü

    Her uç nokta, onunla nasıl etkileşim kuracağınızı belirleyen bir güvenlik türüne sahiptir.

    API anahtarları, X-CH-APIKEY başlığı aracılığıyla Rest API'ye geçirilir.

  • API anahtarları ve gizli anahtarlar büyük/küçük harf duyarlıdır.
    Güvenlik Türü
    Tanım
    YOK
    Uç noktaya serbestçe erişilebilir.
    TİCARET
    Uç nokta, geçerli bir API Anahtarı ve imza gönderilmesini gerektirir.
    KULLANICI BİLGİSİ
    Uç nokta, geçerli bir API Anahtarı ve imza gönderilmesini gerektirir.
    USER_STREAM
    Uç nokta, geçerli bir API Anahtarı gönderilmesini gerektirir.
    PİYASA VERİLERİ
    Uç nokta, geçerli bir API Anahtarı gönderilmesini gerektirir.
    İMZALANMIŞ (TİCARET ve USER_DATA) uç nokta güvenliği

    TRADE veya USER_DATA arabirimini çağırırken, HTTP başlığındaki X-CH-SIGN alanına imza parametresi geçirilmelidir.

    İmza, HMAC SHA256 algoritmasını kullanır. API-KEY'e karşılık gelen API-Secret, HMAC SHA256 anahtarı olarak kullanılır.

    X-CH-SIGN'ın istek başlığı, işlem nesnesi olarak zaman damgası + yöntem + requestPath + gövde dizesine (+ dize bağlantısı anlamına gelir) dayanır.

    Zaman damgasının değeri X-CH-TS istek başlığı ile aynıdır, metot istek metodudur ve harflerin tamamı büyük harftir: GET/POST

    requestPath, istek arabirimi yoludur. Örneğin: /sapi/v1/order

    gövde, istek gövdesinin dizesidir (yalnızca gönderi)

    İmza büyük/küçük harf duyarlı değildir.
    Zamanlama Güvenliği

    İmza arayüzünün HTTP başlığındaki X-CH-TS alanındaki zaman damgasını iletmesi gerekir ve değeri, istek gönderme zamanının unix zaman damgası olmalıdır; 1528394129373

    İsteğin geçerli olduğu zaman damgasından sonraki milisaniye sayısını belirtmek için recvWindow adlı ek bir parametre gönderilebilir. recvWindow gönderilmezse, varsayılan olarak 5000'dir.

    Ayrıca sunucu, istemcinin zaman damgasının, sunucunun zamanının bir saniyesinden "gelecekte" olduğunu hesaplarsa, isteği de reddedecektir.

    Mantık aşağıdaki gibidir:

    1
    if(timestamp <(serverTime +1000)&&(serverTime - timestamp)<= recvWindow){
    2
    // isteği işle
    3
    }başka{
    4
    // isteği reddet
    5
    }

    kopyalandı!
    Ciddi ticaret zamanlama ile ilgilidir. Ağlar kararsız ve güvenilmez olabilir, bu da isteklerin sunuculara ulaşmasının değişen miktarlarda zaman almasına neden olabilir. recvWindow ile, isteğin belirli bir milisaniye sayısı içinde işlenmesi veya sunucu tarafından reddedilmesi gerektiğini belirtebilirsiniz.
    5000 veya daha az küçük bir recvWindow kullanılması önerilir!
    POST /sapi/v1/order için İMZALANAN Uç Nokta Örnekleri
    Echo, openssl ve curl kullanarak Linux komut satırından geçerli imzalı bir yükün nasıl gönderileceğine ilişkin adım adım bir örnek.
    Anahtar
    Değer
    APIAnahtarı
    vmPUZE6mv9SD5V5e14y7Ju91duEh8A
    gizli anahtar
    902ae3cb34ecee2779aa4d3e1d226686
    Parametre
    değer
    sembol
    BTCUSDT
    yan
    SATIN ALMAK
    tip
    SINIR
    Ses
    1
    fiyat
    9300
    İmza örneği

    gövde:
    1
    {"sembol":"BTCUSDT","fiyat":"9300","hacim":"1","yan":"SATIN AL"","tür":"SINIR"}

    kopyalandı!

    HMAC SHA256 İmzası:
    1
    [linux]$ echo -n "1588591856950POST/sapi/v1/sipariş/test{\"symbol\":\"BTCUSDT\",\"fiyat\":\"9300\",\"hacim\":\" 1\",\"yan\":\"SATIN AL\",\"tür\":\"SINIR\"}"| openssl dgst -sha256 -hmac "902ae3cb34ecee2779aa4d3e1d226686"
    2
    (stdin)= c50d0a74bb9427a9a03933d0eded03af9bf50115dc5b706882a4fcf07a26b761

    kopyalandı!

    Kıvrılma komutu:
    1
    (HMAC SHA256)
    2
    [linux]$ curl -H "X-CH-APIKEY: c3b165fd5218cdd2c2874c65da468b1e" -H "X-CH-SIGN: c50d0a74

Bu cevap sorunuzu yanıtladı mı?