BtcTurk | Kripto API Documentation
  • General Information
  • API Access Permissions
  • Data Center
  • Recent changes
  • Authentication
    • Authentication V1
    • Usage
  • Public Endpoints
    • All Public Endpoints
    • Get Exchange Info
    • Get Tickers
    • Get OrderBook
    • Get Trades
    • Get OHLC Data
    • Get Kline Data
  • Private Endpoints
    • All Private Endpoints
    • Get Account Balance
    • Get User Transactions
    • Get Fiat Transactions
    • Get Crypto Transactions
    • Get Open Orders
    • Get All Orders
    • Get Single Order
    • Submit an Order
    • Cancel an Order
  • Rate Limits
  • Websocket Feed
    • WebSocket Authentication
    • Channel, Event and Model
    • Models
    • TradingView
  • Errors
  • Error Handling For Order Operations
    • Retry Strategy Guideline
  • Pairs Scale (Quantity/Price)
  • FAQ (Frequently Asked Questions)
  • Contact Us
Powered by GitBook
On this page
  • Open Orders
  • Open Orders Code Example

Was this helpful?

  1. Private Endpoints

Get Open Orders

PreviousGet Crypto TransactionsNextGet All Orders

Last updated 2 years ago

Was this helpful?

List your current open orders. Only open or un-settled orders are returned by default. As soon as an order is no longer open and settled, it will no longer appear in the default request.

For all transactions related to the private endpoint, you must authorize before sending your request.

For more information you can check our article.

  • pairSymbol parameter can be used for the /api/v1/openOrders endpoint.

  • To access your open orders, you need to enter the pairSymbol parameter.

Request Example:

https://api.btcturk.com/api/v1/openOrders?pairSymbol=BTCUSDT

Open Orders for BTCUSDT are listed

Open Orders

GET https://api.btcturk.com/api/v1/openOrders

Query Parameters

Name
Type
Description

pairSymbol

string

BTCTRY, ETHTRY etc.

Headers

Name
Type
Description

X-PCK*

string

API public key. You can create the API key from the Account > API Access page in your exchange account.

X-Stamp*

integer

Nonce must be current timestamp in miliseconds. It is a must to sync your current time with API server time which is in miliseconds format. Our servers are using UTC timezone.

X-Signature*

string

Signature is a HMAC-SHA256 encoded message. The HMAC-SHA256 code must be generated using a private key that contains a timestamp as nonce and your API key.

{   "success": true,
    "message": null,
    "code": 0,
    "data": {
        "asks": [{
            "id": 16060235,
            "price": "66800.00",
            "amount": "0.09733687",
            "quantity": "0.09733687",
            "stopPrice": "0.00",
            "pairSymbol": "BTCTRY",
            "pairSymbolNormalized": "BTC_TRY",
            "type": "sell",
            "method": "limit",
            "orderClientId": "da593000-6eb3-4a1c-ba26-c616122a0210",
            "time": 0,
            "updateTime": 1591286401373,
            "status": "Untouched",
            "leftAmount": "0.09733687"
        },
        {
            "id": 16060237,
            "price": "66867.00",
            "amount": "0.04971904",
            "quantity": "0.04971904",
            "stopPrice": "0.00",
            "pairSymbol": "BTCTRY",
            "pairSymbolNormalized": "BTC_TRY",
            "type": "sell",
            "method": "limit",
            "orderClientId": "da593000-6eb3-4a1c-ba26-c616122a0210",
            "time": 0,
            "updateTime": 1591286411913,
            "status": "Partial",
            "leftAmount": "0.0412345"
        },
],
        "bids": [{
            "id": 16071095,
            "price": "65817.00",
            "amount": "0.08956055",
            "quantity": "0.08956055",
            "stopPrice": "0.00",
            "pairSymbol": "BTCTRY",
            "pairSymbolNormalized": "BTC_TRY",
            "type": "buy",
            "method": "limit",
            "orderClientId": "da593000-6eb3-4a1c-ba26-c616122a0210",
            "time": 0,
            "updateTime": 1591352311273,
            "status": "Untouched",
            "leftAmount": "0.08956055"
        },
        {
            "id": 14703840,
            "price": "30451.00",
            "amount": "0.06140209",
            "quantity": "0.06140209",
            "stopPrice": "0.00",
            "pairSymbol": "BTCTRY",
            "pairSymbolNormalized": "BTC_TRY",
            "type": "buy",
            "method": "limit",
            "orderClientId": "da593000-6eb3-4a1c-ba26-c616122a0210",
            "time": 0,
            "updateTime": 1584426660947,
            "status": "Partial",
            "leftAmount": "0.04909774"
        }]
    }
}

Open Orders Code Example

// You can download ApiClient .net core complete library from github https://github.com/BTCTrader/broker-api-csharp-v2

var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();

var publicKey = configuration["publicKey"];
var privateKey = configuration["privateKey"];
var resourceUrl = configuration["resourceUrl"];
var apiClientV1 = new ApiClientV1(publicKey, privateKey, resourceUrl);

var openOrders = apiClientV1.GetOpenOrders();

if (openOrders.Result != null && openOrders.Result.Success)
{
    foreach (var askOrder in openOrders.Result.Data.Asks)
    {
        Console.WriteLine(askOrder);
    }

    foreach (var bidOrder in openOrders.Result.Data.Bids)
    {
        Console.WriteLine(bidOrder);
    }
}

<?php
$base = "https://api.btcturk.com";
$apiKey = "YOUR_API_PUBLIC_KEY";
$apiSecret = "YOUR_API_SECRET";
$method = "/api/v1/openOrders?pairSymbol=BTCTRY";
$uri = $base.$method;

$nonce = time()*1000;
$message = $apiKey.$nonce;
$signatureBytes = hash_hmac("sha256", $message, base64_decode($apiSecret), true);
$signature = base64_encode($signatureBytes);
$headers = array(
    "X-PCK: ".$apiKey,
    "X-Stamp: ".$nonce,
    "X-Signature: ".$signature,
    "Cache-Control: no-cache",
    "Content-Type: application/json");

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_2");
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

if (curl_errno($ch)) {
    print_r(curl_error($ch));
}
$answer = json_decode($result);
print_r($answer);

import time, base64, hmac, hashlib, requests, json

base = "https://api.btcturk.com"
method = "/api/v1/openOrders?pairSymbol=BTCTRY"
uri = base+method

apiKey = "YOUR_API_PUBLIC_KEY"
apiSecret = "YOUR_API_SECRET"
apiSecret = base64.b64decode(apiSecret)

stamp = str(int(time.time())*1000)
data = "{}{}".format(apiKey, stamp).encode("utf-8")
signature = hmac.new(apiSecret, data, hashlib.sha256).digest()
signature = base64.b64encode(signature)
headers = {"X-PCK": apiKey, "X-Stamp": stamp, "X-Signature": signature, "Content-Type" : "application/json"}

result = requests.get(url=uri, headers=headers)
result = result.json()
print(json.dumps(result, indent=2))

publicKey := "PUBLIC_KEY_HERE"
privateKey := "PRIVATE_KEY_HERE"

base       = "https://api.btcturk.com"
method     = "/api/v1/openOrders"
uri        = base + method

key, error := base64.StdEncoding.DecodeString(privateKey)

if error != nil {
	return error
}

nonce := fmt.Sprint(time.Now().UTC().UnixMilli())
message := publicKey + nonce
hmac := hmac.New(sha256.New, key)
hmac.Write([]byte(message))
signature := base64.StdEncoding.EncodeToString(hmac.Sum(nil))

request, _ := http.NewRequest("GET", uri, nil)

request.Header.Set("X-PCK", publicKey)
request.Header.Set("X-Stamp", nonce)
request.Header.Set("X-Signature", signature)
request.Header.Set("Content-Type", "application/json")

response, _ := http.DefaultClient.Do(request)

defer response.Body.Close()
body, _ := ioutil.ReadAll(response.Body)

fmt.Println(response)
fmt.Println(string(body))
const API_KEY = "API_KEY_HERE"
const API_SECRET = "API_SECRET_HERE"

const base = 'https://api.btcturk.com'
const method = '/api/v1/openOrders'
const uri = base+method;

const options = {method: 'GET', headers: authentication()};

fetch(uri, options)
    .then(res => res.json())
    .then(json => console.log(json))
    .catch(err => console.error('error:' + err));


function authentication() {
    const stamp = (new Date()).getTime()
    const data = Buffer.from(`${API_KEY}${stamp}`, 'utf8')
    const buffer = crypto.createHmac('sha256', Buffer.from(API_SECRET, 'base64'))
    buffer.update(data)
    const digest = buffer.digest()
    const signature = Buffer.from(digest.toString('base64'), 'utf8').toString('utf8')

    return {
        "Content-type": 'application/json',
        "X-PCK": API_KEY,
        "X-Stamp": stamp.toString(),
        "X-Signature": signature,
    }
}
public_key = 'PUBLIC_KEY_HERE'
private_key = 'PRIVATE_KEY_HERE'

uri = URI.parse("https://api.btcturk.com/api/v1/openOrders?pairSymbol=BTCUSDT")
timestamp = Time.now.to_i*1000
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)

data = public_key + timestamp.to_s
private_key = Base64.decode64(private_key).strip
digest = OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), private_key, data)
sign = Base64.encode64(digest).strip

request['Content-type'] = 'application/json'
request['X-PCK'] = public_key
request['X-Stamp'] = timestamp.to_s
request['X-Signature'] = sign

response = http.request(request)
puts response.read_body
Authentication V1