ICRYPEX - API sayesinde piyasa bilgilerini, hesap hareketlerinizi ve bakiyenizi alabilir; piyasa ve limit emir girişi yapabilir, emirlerinizi iptal edebilirsiniz.
ICRYPEX - API sayesinde piyasa bilgilerini, hesap hareketlerinizi ve bakiyenizi alabilir; piyasa ve limit emir girişi yapabilir, emirlerinizi iptal edebilirsiniz.
Bir uygulamanın işlevlerine dışarıdan veya uzaktan erişilip bu işlevlerin kullanılmasını sağlayan arayüzdür. API, bir sunucunun üzerindeki uygulamaya farklı platformlardan ulaşılmasını ve sorduğu sorgulara cevap alarak işlem üretmesine olanak sağlar. Icrypex, ilgili API sorguları ile siz ihtiyacınız olan bilgilere erişme olanağı tanır. Bu şekilde, daima Icrypex platformuna bağlanmadan da alım-satım yapabilir, kripto paraların fiyat ve hacimlerini izleyebilirsiniz.
4XX
dönüş kodları kullanılır; sorun gönderici tarafındadır.403
dönüş kodu kullanılır.429
dönüş kodu kullanılır.5XX
dönüş kodları kullanılır; Sorun Sunucu tarafındadı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.Ad | Türü | Zorunlu | Açıklama |
---|---|---|---|
code | Number | Evet | Hata Kodu,0 başarılı,diğerleri başarısız |
msg | String | Evet | Hata mesajı |
timestamp | Number | Evet | Sunucu zaman damgası |
data | Object | Hayır | Yanıt verisi |
GET,POST
uç noktaları için parametreler bir query string
gönderilmelidir. intervalLetter
değerleri aşağıdaki gibidir:
intervalNum
aralığın miktarını tanımlar. Örneğin, intervalNum
5 ile intervalLetter
M harfi "Her 5 dakikada bir" anlamına gelir.Retry-After
başlığı gönderilir ve 418 olması durumunda yasağı önlemek için veya 429 olması durumunda yasak bitene kadar beklemek için gereken saniye sayısını verir. Talep oranı limitine dahil olmayacağından, mümkün olduğunca veri almak için httpclient, webclient kullanmanızı öneririz.
Her uç nokta, onunla nasıl etkileşim kuracağınızı belirleyen bir güvenlik türüne sahiptir. Bu, uç noktada İSİM yanında belirtilir.
x-access-token
başlığı aracılığıyla Rest API'ye veya api_key parametresi aracılığıyla sorgu dizesine geçirilir.Güvenlik Türü | Açıklaman |
---|---|
HİÇBİRİ | Uç Noktaya serbestçe erişilebilir. |
API ANAHTARI | Uç Noktası, geçerli bir API Anahtarı gönderilmesini gerektirir. |
SIGNED
uç noktası ayrıca,isteğin oluşturulduğu ve gönderildiği zamanın milisaniyelik timestamp
, olması gereken bir parametrenin (timestamp) gönderilmesini gerektirir.recvWindow
, adlı ek bir parametre gönderilebilir.timestamp
adlı ek bir parametre gönderilebilir. recvWindow
gönderilmezse, varsayılan olarak 5000'dir..if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) { // process request } else { // reject request }
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ı tavsiye edilir! Maksimum sayı 60.000'i geçemez!
Burada, geçerli imzalı bir yükün nasıl gönderileceğine ilişkin adım adım bir örnek verilmiştir
Anahtar | Değer |
---|---|
api_key | cfDC92B191b9B3Ca3D842Ae0e01108CBKI6BqEW6xr4NrPus3hoZ9Ze9YrmWwPFV |
Parametre | Değer | |
---|---|---|
symbol | BTC/TRY | |
side | 1 | 1 - Buy 2 - Sell |
type | 1 | 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss |
quantity | '0.16' | |
price | '7500' | |
recvWindow | 5000 | |
timestamp | 1581720670624 |
x-access-token
istek başlığında da gönderilebilir.base asset
bir sembolün miktarı olan varlığı ifade eder.quote asset
bir sembolün fiyatı olan varlığı ifade eder.GET /open/v1/common/time
Rest API bağlantısını test edin ve mevcut sunucu zamanını alın.
Parametreler: HİÇBİRİ
{ "code": 0, "msg": "success", "timestamp": 1572265137927 }
GET /open/v1/common/symbols
Bu uç nokta, tüm Exchange'in desteklenen ticaret sembolünü döndürür.
Parametreler: NONE
{ "code": 0, "msg": "success", "data": { "list": [ { "symbol": "BTC/TRY", "baseAsset": "",BTC "baseAssetname": "Bitcoin", "basePrecision": 8, "quoteAsset": "TRY", "quatoAssetname": "Turkish Lira", "quotePrecision": 8, "quotePrecisionShow": 8, "status": 1 // 0: inactive , 1: active, "description": "Bitcoin, eşten eşe ağ teknolojisini kullanarak herhangi..." } ] }, "timestamp": 1571921637091 }
GET /open/v1/market/depth
Parameters:
Ad | Türü | Zorunluy | Açıklama |
---|---|---|---|
symbol | STRING | EVET | |
limit | INT | HAYIR | Varsayılan 100; max 5000. Geçerli limitler:[5, 10, 20, 50, 100, 500] |
{ "code": 0, "msg": "success", "data": { "lastUpdateId": 1027024, "bids": [ "price": "4.00000000", "amount": "431.00000000" ], "asks": [ "price":"4.00000200", "amount":"12.00000000" ] }, "timestamp": 1571921637091 }
GET /open/v1/market/trades
Son alım satımları getirir (son 500'e kadar).
Parametereler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
symbol | STRING | YES | |
fromId | LONG | NO | ID to get trades from INCLUSIVE. |
limit | INT | HAYIR | Varsayılan 500; max 1000. |
{ "code": 0, "msg": "success", "data": [ { "id": 238457, // transaction id "price": "4.00000100", "qty": "12.00000000", // Quantity "time": 1499865549590, "isBuyerMaker": true, "isBestMatch": true } ], "timestamp": 1571921637091 }
GET /open/v1/market/agg-trades
Sıkıştırılmış, toplu alım satımları getirir. Aynı siparişten aynı fiyatla aynı anda doldurulan işlemlerde toplam miktar olacaktır.
Parametereler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
symbol | STRING | YES | |
fromId | LONG | HAYIR | ID to get aggregate trades from INCLUSIVE. |
startTime | LONG | NO | Timestamp in ms to get aggregate trades from INCLUSIVE. |
endTime | LONG | HAYIR | Timestamp in ms to get aggregate trades until INCLUSIVE. |
limit | INT | NO | Default 500; max 1000. |
{ "code": 0, "msg": "success", "data": [ { "a": 261429, // transaction id "p": "0.01633102", // Price "q": "4.70443515", // Quantity "f": 27781, // first fill order id "l": 27781, // last fill order id "T": 1498793709153, // Fill Datetime "m": true, // is Maker "M": true } ], "timestamp": 1571921637091 }
POST /open/v1/orders (HMAC SHA256)
Yeni bir emirle gönderilir.
Parametreler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
symbol | STRING | EVET | |
side | ENUM | EVET | 1 - Buy, 2 - Sell |
type | ENUM | EVET | 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss |
quantity | STRING | HAYIR | |
quoteOrderQty | STRING | HAYIR | |
price | STRING | HAYIR | |
clientId | STRING | HAYIR | Müşterinin sipariş için özel kimliği, Sunucu benzersizliğini kontrol etmez. Gönderilmezse otomatik olarak oluşturulur. |
stopPrice | STRING | HAYIR | STOP LOSS , TAKE PROFIT ile birlikte kullanılır
|
icebergQty | STRING | HAYIR | For future use. |
recvWindow | LONG | HAYIR | The value cannot be greater than 60000
|
timestamp | LONG | YES |
Türe göre ek zorunlu parametreler: tip
:
Tip | Ek zorunlu parametreler |
---|---|
1 |
quantity , price |
2 |
quantity , quoteOrderQty (sat) yada quantity (al) |
3 |
quantity , stopPrice |
4 |
quantity , stopPrice |
Diğer bilgiler:
STOP LOSS
ve TAKE PROFIT
stopPrice
'a ulaştığında MARKET
yapar quantity
kullanan MARKET
orders using emirleri, bir kullanıcının piyasa fiyatına göre ne kadar almak veya satmak istediğini belirtir.quoteOrderQty
kullanan MARKET
emirleri kullanıcının teklif varlığı için (satın alırken) harcamak istediği tutarı belirtir; doğru quantity
piyasa likiditesine ve quoteOrderQty'ye göre belirlenecektir.Hem MARKET hem de LIMIT sürümleri için emir fiyatı kurallarını piyasa fiyatına göre tetikler:
STOP LOSS
BUY
, TAKE PROFIT
SELL
STOP LOSS
SELL
, TAKE PROFIT
BUY
{ "code": 0, "message": "success", "data": { "orderId": "452367", "createTime": 1550130502385 }, "timestamp": 1550130502489 }
GET /open/v1/orders/detail (HMAC SHA256)
Bir sıralamanın durumunu kontrol eder.
Parametreler:
Ad | Türü | Zorunlu | Açıklama |
---|---|---|---|
orderId | LONG | YES | |
recvWindow | LONG | HAYIR | Değer60000 'den büyük olamaz
|
timestamp | LONG | EVET |
{ "code": 0, "message": "success", "data": { "orderId": 456123, "orderListId": -1, // Future use "clientId": "142334", // Customer Id "symbol": "BTC/TRY", "side": 1, // Buy : 1 - Sell : 2 "type": 1, // 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss "price": 110, "status": 0 , //Terminology > ENUM definitions > Order status (status) "origQty": 10.88, // Base Quantity "origQuoteQty": 0, // Quato Quantity "executedQty": 0, // for future use "executedPrice": 0, // for future use "executedQuoteQty": 0, // for future use "createTime": 1550130502000 }, "timestamp": 1550130554182 }
POST /open/v1/orders/cancel (HMAC SHA256)
Aktif bir emri iptal eder
Parametreler:
Ad | Türü | Zorunlu | Açıklama |
---|---|---|---|
orderId | LONG | EVET | |
recvWindow | LONG | HAYIR | Değer 60000 'den büyük olamaz
|
timestamp | LONG | EVET |
{ "code": 0, "message": "success", "data": { "orderId": 456712, "orderListId": -1, "clientId": "myOrder1", "symbol": "BTC/TRY", "side": 1, // Buy : 1 - Sell : 2 "type": 1, // 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss "price": 1, "status": 0, // Terminology > ENUM definitions > Order status (status) "origQty": 10.88, // Base Quantity "origQuoteQty": 0, // Quato Quantity "executedQty": 0, // for future use "executedPrice": 0, // for future use "executedQuoteQty": 0, // for future use "createTime": 1550130502000 }, "timestamp": 1550130554182 }
GET /open/v1/orders/list (HMAC SHA256)
Aktif, iptal edilmiş veya doldurulmuş tüm hesap emirlerini getirir.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
symbol | STRING | EVET | |
type | ENUM | HAYIR | 1 - Açık, 2 - Geçmiş |
side | ENUM | HAYIR | |
startTime | LONG | NO | |
endTime | LONG | NO | |
fromId | String | NO | Gelecekteki kullanım için. |
direct | ENUM | NO | Gelecekteki kullanım için. |
limit | INT | NO | Varsayılan 500; max 1000. |
recvWindow | LONG | HAYIR | Değer 60000 'den büyük olamaz
|
timestamp | LONG | EVET |
{ "code": 0, "msg": "success", "data": { "list": [ { "orderId": "213456", "clientId": "13242", // Customer ID "symbol": "BTC/TRY", "symbolType": 1, // for future use "side": 1, // Buy : 1 - Sell : 2 "type": 1, // 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss "price": "0.1", "origQty": "10", // Base Quantity "origQuoteQty": "1", // Quato Quantity "executedQty": "0", // for future use "executedPrice": "0", // for future use "executedQuoteQty": "0", // for future use "timeInForce": 1, // for future use "stopPrice": "0.0000000000000000", // Price for Stop Loss or Take Profit Order Tpes "icebergQty": "0.0000000000000000", // for future use "status": 0, //Terminology > ENUM definitions > Order status (status) "isWorking": 0, "createTime": 1572692016811 } ] }, "timestamp": 1572860756458 }
GET /open/v1/openOrders (HMAC SHA256)
Tüm veya sembol bazlı hesap açık emirleri alın.
Parametreler
Ad | Türü | Zorunlu | Açıklama |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | Hayır | Değer 60000 'den büyük olamaz
|
timestamp | LONG | YES |
{ "code": 0, "msg": "success", "data": { "list": [ { "orderId": "213456", "clientId": "13453", // Customer ID "symbol": "BTC/TRY", "symbolType": 1, // for future use "side": 1,/ / Buy : 1 - Sell : 2 "type": 1,// 1 - Limit, 2 - Market, 3 - Take Profit, 4 - Stop Loss "price": "0.1", "origQty": "10", // Base Quantity "origQuoteQty": "1",/ / Quato Quantity "executedQty": "0", // for future use "executedPrice": "0", // for future use "executedQuoteQty": "0", // for future use "timeInForce": 1, // for future use "stopPrice": "0.0000000000000000", // Price for Stop Loss or Take Profit Order Tpes "icebergQty": "0.0000000000000000", // for future use "status": 0, //Terminology > ENUM definitions > Order status (status) "isWorking": 0, "createTime": 1572692016811 } ] }, "timestamp": 1572860756458 }
GET /open/v1/account/spot (HMAC SHA256)
Tüm veya sembol bazlı hesap açık emirleri alın.
Parametreler:
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
recvWindow | LONG | HAYIR | Değer 60000 'den büyük olamaz
|
timestamp | LONG | EVET |
{ "code": 0, "msg": "success", "data": { "list": [ { "makerCommission": "10.00000000", "takerCommission": "10.00000000", "buyerCommission": "0.00000000", "sellerCommission": "0.00000000", "asset": "BTC", "free": "0.5550000000000000", "locked": "0000000000000000" } ] }, "timestamp": 1572514387348 }
GET /open/v1/accountSnapshot (HMAC SHA256)
Cari hesap bilgilerini getirir.
Parametreler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
Türü | STRING | HAYIR | Currently support only SPOT |
startTime | LONG | NO | |
endTime | LONG | NO | |
recvWindow | LONG | NO | The value cannot be greater than 60000
|
timestamp | LONG | YES |
{ "code": 0, "msg": "success", "snapShotVos":[{ "balances": [ { "asset": "BTC", "free": "0.5550000000000000", "locked": "0000000000000000" }, { "asset": "LTC", "free": "200.430000000000000", "locked": "0000000000000000" }]}] "type": "SPOT", "timestamp": 1572514387348 }
GET /open/v1/account/spot/asset (HMAC SHA256)
Belirli bir varlık için cari hesap bilgilerini getirir.
Parametreler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
asset | STRING | YES | |
recvWindow | LONG | HAYIR | Değer 60000 'den büyük olamaz
|
timestamp | LONG | EVET |
{ "code": 0, "msg": "success", "data": { "asset": "BTC", "free": "0.5550000000000000", "locked": "0000000000000000" }, "timestamp": 1572514387348 }
GET /open/v1/orders/trades (HMAC SHA256)
Tüm veya sembol bazlı hesap açık emirleri alın.
Parametreler:
Ad | Tür | Zorunlu | Tanım |
---|---|---|---|
symbol | STRING | EVET | |
orderId | String | HAYIR | |
startTime | LONG | HAYIR | |
endTime | LONG | HAYIR | |
fromId | LONG | HAYIR | TradeId to fetch from. Default gets most recent trades. |
direct | ENUM | HAYIR | For future use. |
limit | INT | HAYIR | Default 500; max 1000. |
recvWindow | LONG | HAYIR | The value cannot be greater than 60000
|
timestamp | LONG | EVET |
Notes:
{ "code": 0, "msg": "success", "data": { "list": [ { "tradeId": "X-241568", "orderId": "241568", "symbol": "BTC/TRY", "price": "0.04398", "qty": "0.0001", "quoteQty": "520.989", "commission": "0.000025", "commissionAsset": "BTC", "isBuyer": 1, "isMaker": 0, "isBestMatch": 1, "time": "1572920872276" } ] }, "timestamp": 1573723498893 }
is:wss://stream-cloud.icrypex.com
'dur ve aşağıdaki URL'lerle bağlantı başarılı olduktan sonra, akışa erişmek için boş bir veri gönderilmelidir./ws?<streamName>(example; wss://stream-cloud.icrypex.com/ws?btc/[email protected])
linkinden erişilir./stream?streams=<streamName1>\<streamName2>\<streamName3>(example; wss://stream-cloud.icrypex.com/stream?streams=btc/[email protected]\ltc/[email protected])
linkinden erişilir{"stream":"<streamName>","data":<rawPayload>}
stream-cloud.icrypex.com
yalnızca 24 saat geçerlidir; 24 saat işaretiyle bağlantının kesilmesi beklenir.id
ileri geri giden mesajları benzersiz bir şekilde tanımlamak için tanımlayıcı olarak kullanılan imzasız bir INT'dir. { "method": "SUBSCRIBE", "params": [ "btc/[email protected]", "btc/[email protected]" ], "id": 1 }
{ "result": null, "id": 1 }
{ "method": "UNSUBSCRIBE", "params": [ "btc/[email protected]" ], "id": 312 }
{ "result": null, "id": 312 }
{ "method": "LIST_SUBSCRIPTIONS", "id": 3 }
{ "result": [ "btc/[email protected]" ], "id": 3 }
Şu anda ayarlanabilen tek özellik, birleşik akış yüklerinin etkinleştirilip etkinleştirilmeyeceğini ayarlamaktır. Birleştirilmiş
özellik kullanılarak bağlanırkenfalse
when connecting using /ws/
("ham akışlar") true
ve /stream/
olarak ayarlanır..
{ "method": "SET_PROPERTY", "params": [ "combined", true ], "id": 5 }
{ "result": null, "id": 5 }
{ "method": "GET_PROPERTY", "params": [ "combined" ], "id": 2 }
{ "result": true, // Indicates that combined is set to true. "id": 2 }
Hata Mesajları |
---|
{"code": 0, "msg": "Unknown property"} |
{"code": 1, "msg": "Invalid value type: expected Boolean"} |
{"code": 2, "msg": "Invalid request: property name must be a string"} |
{"code": 2, "msg": "Invalid request: request ID must be an unsigned integer"} |
{"code": 2, "msg": "Invalid request: unknown variant of SUBSCRIBE, UNSUBSCRIBE, LIST_SUBSCRIPTIONS, SET_PROPERTY, GET_ PROPERTY"} Sağlanan yöntemde olası yazımhatası beklenen değerlerden hiçbiri değildi |
{"code": 2, "msg": "Invalid request: too many parameters"} |
{"code": 2, "msg": "Invalid request: property name must be a string"} |
{"code": 2, "msg": "Invalid request: missing field method "} |
{"code":3,"msg":"Invalid JSON format "} |
Toplu Alım Satış Akışları, tek bir alıcı emri için toplanan ticaret bilgilerini gönderir.
Akış Adı: <symbol>@aggTrade
Güncelleme Hızı: Real-time
{ "e": "aggTrade", // Event type "E": 123456789, // Event time "s": "BTC/TRY", // Symbol "a": 123445, // Aggregate trade ID "p": "0.001", // Price "q": "100", // Quantity "f": 100, // First trade ID "l": 105, // Last trade ID "T": 123456785, // Trade time "m": true, // Is the buyer the market maker? "M": true // Ignore }
İşlem Akışları, ham ticaret bilgilerini aktarır; her ticaretin benzersiz bir alıcısı ve satıcısı vardır.
Akış Adı: <symbol>@trade
Güncelleme Hızı: Real-time
{ "e": "trade", // Event type "E": 123456789, // Event time "s": "BTC/TRY", // Symbol "t": 12345, // Trade ID "p": "0.001", // Price "q": "100", // Quantity "b": 88, // Buyer order ID "a": 50, // Seller order ID "T": 123456785, // Trade time "m": true, // Is the buyer the market maker? "M": true // Ignore }
24 saat yuvarlanan pencere mini borsa takip istatistikleri. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik bir yuvarlanan penceredir.
Akış Adı: <symbol>@miniTicker
Güncelleme Hızı: 1000ms
{ "e": "24hrMiniTicker", // Event type "E": 123456789, // Event time "s": "BTC/TRY", // Symbol "c": "0.0025", // Close price "o": "0.0010", // Open price "h": "0.0025", // High price "l": "0.0010", // Low price "v": "10000", // Total traded base asset volume "q": "18" // Total traded quote asset volume }
Bir dizide değişen tüm semboller için 24 saatlik hareketli mini borsa takip istatistikleridir. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik bir yuvarlanan penceredir. Dizide yalnızca değişen işaretlerin bulunacağını unutmayınız.
AkışAdı: [email protected]
Günceleme Hızı: 1000ms
[ { "e": "24hrMiniTicker", // Event type "E": 123456789, // Event time "s": "BTC/TRY", // Symbol "c": "0.0025", // Close price "o": "0.0010", // Open price "h": "0.0025", // High price "l": "0.0010", // Low price "v": "10000", // Total traded base asset volume "q": "18" // Total traded quote asset volume } ]
Bir dizide değişen tüm semboller için 24 saatlik hareketli borsa senedi takip istatistikleridir. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik bir yuvarlanan penceredir. Dizide yalnızca değişen işaretlerin bulunacağını unutmayın.
Akış Adı <symbol>@Ticker
Güncelleme Hızı: 2000ms
{ "e": "24hrTicker", // Event type "E": 123456789, // Event time "s": "BNBBTC", // Symbol "p": "0.0015", // Price change "P": "250.00", // Price change percent "w": "0.0018", // Weighted average price "x": "0.0009", // First trade(F)-1 price (first trade before the 24hr rolling window) "c": "0.0025", // Last price "Q": "10", // Last quantity "b": "0.0024", // Best bid price "B": "10", // Best bid quantity "a": "0.0026", // Best ask price "A": "100", // Best ask quantity "o": "0.0010", // Open price "h": "0.0025", // High price "l": "0.0010", // Low price "v": "10000", // Total traded base asset volume "q": "18", // Total traded quote asset volume "O": 0, // Statistics open time "C": 86400000, // Statistics close time "F": 0, // First trade ID "L": 18150, // Last trade Id "n": 18151 // Total number of trades }
Bir sembol veya semboller için sipariş defterindeki en iyi fiyat/adet.
AkışAdı: <symbol>@bookTicker
Güncelleme Hızı: 500ms
{ "u": 823453, // Last Update id "s": "BTC/TRY", // Symbol "b": "0.0025", // Best bid price "B": "0.0010", // Best bid Amount "a": "0.0025", // Best ask price "A": "0.0010", // Best ask amount }
AkışAdı: <symbol>@depth
Güncelleme Hızı: 1000ms
{ "lastUpdateId": 160, // Last update ID "bids": [ // Bids to be updated [ "Price": "0.0024", // Price level to be updated "Amount": "10" // Quantity ] ], "asks": [ // Asks to be updated [ "Price": "0.0026", // Price level to be updated "Amount": "100" // Quantity ] ] }
Bir emir defterini yerel olarak yönetmek için kullanılan sipariş defteri fiyatı ve miktar derinliği güncellemeleri.
Akış adı: <symbol>@depth
Güncelleme Hızı: 200ms
{ "e": "depthUpdate", // Event type "E": 123456789, // Event time "s": "BTC/TRY", // Symbol "U": 157, // First update ID in event "u": 160, // Final update ID in event "b": [ // Bids to be updated [ "Price": "0.0024", // Price level to be updated "Amount": "10" // Quantity ] ], "a": [ // Asks to be updated [ "Price": "0.0026", // Price level to be updated "Amount": "100" // Quantity ] ] }
wss://stream-cloud.icrypex.com/ws?btc/[email protected]
adresine bir akış açınız.https://api.icrypex.com/open/v1/market/depth?symbol=BTC/TRY&limit=1000
adresinden derinlik anlık görüntüsü alınız.<= lastUpdateId
olduğu herhangi bir olayı bırakınız.U <= lastUpdateId+1
AND u >= lastUpdateId+1
olmalıdır.U
'su bir önceki olayın u+1
'ine eşit olmalıdır.using WebSocketSharp; WebSocket ws = null; private void WSSConenct() { try { // for subscribe trades first connect to wss://stream-cloud.icrypex.com and then send {"method": "SUBSCRIBE","params":["btc/[email protected]","ltc/[email protected]"],"id": 2} // for subscribe last orders first connect to wss://stream-cloud.icrypex.com and then send{ "method": "SUBSCRIBE","params":["btc/[email protected]","ltc/[email protected]"],"id": 2} // for subscribe aggregate trades first connect to wss://stream-cloud.icrypex.com and then {"method": "SUBSCRIBE","params":["btc/[email protected]","ltc/[email protected]"],"id": 2} // for subscribe miniticker first connect to wss://stream-cloud.icrypex.com and then { "method": "SUBSCRIBE","params":["btc/[email protected]","ltc/[email protected]"],"id": 2} // for subscribe diff miniticker first connect to wss://stream-cloud.icrypex.com and then { "method": "SUBSCRIBE","params":["[email protected]"],"id": 2} // for single stream connect with total URL (for example; wss://stream-cloud.icrypex.com/ws?btc/[email protected]) and then send dummy data to start stream // for combined stream connect with total URL (for example; wss://stream-cloud.icrypex.com/stream?streams=btc/[email protected]\ltc/[email protected]\eth/[email protected]) and then send dummy data to start stream string ConnectionURL = "wss://stream-cloud.icrypex.com/ws?btc/[email protected]"; ws = new WebSocket(ConnectionURI); ws.OnMessage += WebSocketDataReceived; ws.OnOpen += WebSocketOpened; ws.OnError += WebSocketError; ws.OnClose += WebSocketClose; ws.Connect(); if (ws != null) ws.Send(""); } catch (Exception ex) { // Error } } private void WebSocketError(object sender, ErrorEventArgs e) { textBox3.AppendText(Environment.NewLine + Environment.NewLine + "Connection to server lost : " + e.Message); ws.Close(); ws = null; } private void WebSocketClose(object sender, CloseEventArgs e) { textBox3.AppendText(Environment.NewLine + Environment.NewLine + "Connection closed with the server"); ws = null; } private void WebSocketDataReceived(object sender, MessageEventArgs e) { textBox3.AppendText(Environment.NewLine + Environment.NewLine + e.Data); }
import java.net.URI; import java.net.URISyntaxException; import java.net.http.HttpClient; import java.net.http.HttpClient.Redirect; import java.net.http.HttpClient.Version; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; public class HttpClientApp { public void invoke() throws URISyntaxException { HttpClient client = HttpClient.newBuilder() .version(Version.HTTP_2) .followRedirects(Redirect.NORMAL) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(new URI("https://api.icrypex.com/open/v1/orders/list?symbol=BTC/TRY&type=1×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV")) .GET() .timeout(Duration.ofSeconds(10)) .build(); client.sendAsync(request, BodyHandlers.ofString()) .thenApply(HttpResponse::body) .thenAccept(System.out::println) .join(); } }
public class HttpClientApp { public void invokePost() { try { String requestBody = prepareRequest(); HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest .newBuilder() .uri(URI.create("https://api.icrypex.com/open/v1/orders?symbol=BTC/TRY&type=2&side=1&quantity=0.01×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV")) .POST(HttpRequest.BodyPublishers.ofString(requestBody)) .header("Accept", "application/json") .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } catch (IOException | InterruptedException e) { e.printStackTrace(); } }
using System; using System.Net.Http; using System.Net.Http.Headers; namespace ConsoleProgram { public class Class1 { private const string URL = "https://api.icrypex.com/open/v1/orders"; private string urlParameters = "?symbol=BTC/TRY&type=2&side=1&quantity=0.01×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV"; static void Main(string[] args) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(URL); // Add an Accept header for JSON format. client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); // List data response. HttpResponseMessage response = client.GetAsync(urlParameters).Result; // Blocking call! Program will wait here until a response is received or a timeout occurs. if (response.IsSuccessStatusCode) { // Parse the response body. var dataObjects = response.Content.ReadAsAsync<string>().Result; //Make sure to add a reference to System.Net.Http.Formatting.dll } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } // Make any other calls using HttpClient here. // Dispose once all HttpClient calls are complete. This is not necessary if the containing object will be disposed of; for example in this case the HttpClient instance will be disposed automatically when the application terminates so the following call is superfluous. client.Dispose(); } } }
// Public API : Get order book using (WebClient wc = new WebClient()) { try { string url = https://api.icrypex.com/open/v1/market/depth?symbol=BTC/TRY; string result = wc.DownloadString(url); <!--returns => {"code":0,"msg":"success", "Data":{"lastupdateid":1639776794754, "bids": [ {"price":"661858.48000000","amount":"0.00500000"}, {"price":"661858.48000000","amount":"0.01000000"} ], "asks": [ {"price":"24400.00000000","amount":"0.01000000"}, {"price":"24400.00000000","amount":"0.01000000"} ] }, "timestamp":1639776794856 }--> } catch (Exception ex) { // Error } } // Private API (Requires api_key in query string or in request header): Get open orders using (WebClient wc = new WebClient()) { try { string url = "https://api.icrypex.com/open/v1/orders/list?symbol=BTC/TRY&type=1×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV"; //api_key parameter can be sent in <x-access-token> request header too string result = wc.DownloadString(url); //returns => <!--{"code": 0,"msg": "success data":{"list": [ { "orderId": "119234", "clientId": "174832", "symbol": "BTC/TRY", "symbolType": 1, "side": 1, "type": 1, "price": "1.123", "origQty": "10", "origQuoteQty": "1", "executedQty": "0", "executedPrice": "0", "executedQuoteQty": "0", "timeInForce": 0, "stopPrice": "0.0000000000000000", "icebergQty": "0.0000000000000000", "status": 0, "isWorking": 0, "createTime": 1572692016811 } ] }, "timestamp": 1572860756458 }--> } catch (Exception ex) { // Error } } // Private API (Requires api_key in query string or in request header) : Insert new market order using (WebClient wc = new WebClient()) { try { string url = "https://api.icrypex.com/open/v1/orders?symbol=BTC/TRY&type=2&side=1&quantity=0.01×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV"; //api_key parameter can be sent in <x-access-token> request header too. string result = wc.DownloadString(url); //returns => <!--{"code": 0,"msg": "success", "data": { "orderId": "123456", "createTime": 1572692016811 }, "timestamp": 1572860756458 }--> } catch (Exception ex) { // Error } } // Private API (Requires api_key in query string ror in equest header): Delete order using (WebClient wc = new WebClient()) { try { string url = https://api.icrypex.com/open/v1/orders/cancel?orderid=119×tamp=1639842985658&api_key=cfDC92B191b9B1223Ae0e01108CBKI6Bqewr26xr4NrPusef23d49Ze9YrmWwPFV; //api_key parameter can be sent in <x-access-token> request header too. string result = wc.DownloadString(url); //returns => <!--{"code": 0,"msg": "success", "data": { "orderId": 119234, "orderListId": -1, "clientId": "14522", "symbol": "BTC/TRY", "side": 1, "type": 1, "price": 12,454, "status": 0, "origQty": 10.88, "origQuoteQty": 0, "executedQty": 0, "executedPrice": 0, "executedQuoteQty": 0, "createTime": 1550130502000 }, "timestamp": 1572860756458 }--> } catch (Exception ex) { // Error } }
Başarılarına ortak olduğumuz; 1907 Fenerbahçe Engelli Yıldızlar, Erden Eruç, Emir Tanju ve TOSFED sponsorluklarımız ile Türk sporunu desteklemekteyiz. Faydalı bir süreç izleyerek yeni sponsorluklarımızla attığımız adımlar sayesinde Türk sporuna güç katmaya devam edeceğiz.