روش‌های API عمومی

در کل ۶ روش عمومی وجود دارند که درخواست‌های HTTP GET را قبول می‌کنند و پاسخ را در قالب JSON ارسال می‌نمایند:

ReturnTicker

این روش برای همه/یا فقط بازارهای مشخص‌شده تیکر نتیجه بازمی‌گرداند؛ مثال‌هایی از درخواست و پاسخ:

مثال 1: بازگرداندن همه تیکرها.

درخواست: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker

پاسخ:

{
  Tickers: [{
    BaseVolume: "0.00000000",
    HighPrice: "0.09611615",
    Last: "0.05125186",
    LowPrice: "0.04456261",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01025148",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.00000000",
    HighPrice: "0.00105385",
    Last: "0.00050066",
    LowPrice: "0.00040122",
    ...
  },  ...]
}

مثال ۲. بازگرداندن تیکرهای BTC_LTC و BTC_DOGE.

درخواست: https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker?request=[NamePairs=BTC_LTC,BTC_DOGE]

پاسخ:

{
  Tickers:  [{
    BaseVolume: "0.00000000",
    HighPrice: "0.02062280",
    Last: "0.01023842",
    LowPrice: "0.00972667",
    ...
  },  {
    BaseVolume: "0.47617000",
    HighPrice: "0.00000080",
    Last: "0.00000041",
    LowPrice: "0.00000035",
    ...
  }]
}


Return24Volume

این روش حجم معاملات را به مدت 24 ساعت برای همه/یا فقط بازارهای مشخص شده نمایش میدهد:

مثال. نمایش حجم BTC_DOGE.

درخواست:https://api.crex24.com/CryptoExchangeService/BotPublic/Return24Volume?request=[NamePairs=BTC_DOGE]

پاسخ:

{
  Volume: {
    VolumesByOne: [{
      Name: "BTC",
      Volume: 0.23673
    }, {
      Name: "DOGE",
      Volume: 577000
    }],
    VolumesByTwo: [{
      First: {
        Name: "BTC",
        Volume: 0.23673
      },
      Name: "BTC_DOGE",
      Second: {
        Name: "DOGE",
        Volume: 577000
      }
    }]
  }
}


ReturnOrderBook

این روش ستون سفارشات بازار مشخص‌شده را نمایش می‌دهد

مثال. نمایش ستون سفارشات BTC_DOGE.

درخواست:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnOrderBook?request=[PairName=BTC_DOGE]

پاسخ:

{
  BuyOrders: [{
    AccumulateMoneyCount: "36826.27800846",
    AccumulateMoneyVolume: "0.01509877",
    CoinCount: "36826.27800846",
    ...
  },  {
    AccumulateMoneyCount: "67304.76798074",
    AccumulateMoneyVolume: "0.02729017",
    CoinCount: "30478.48997228",
    ...
  },  {
    AccumulateMoneyCount: "75084.76074510",
    AccumulateMoneyVolume: "0.03032437",
    CoinCount: "7779.99276436",
    ...
  },  {
    AccumulateMoneyCount: "75433.94286209",
    AccumulateMoneyVolume: "0.03045706",
    CoinCount: "349.18211699",
    ...
  }],
  SellOrders: [{
    AccumulateMoneyCount: "10642.66536957",
    AccumulateMoneyVolume: "0.00446992",
    CoinCount: "10642.66536957",
    ...
  },  {
    AccumulateMoneyCount: "31738.44031685",
    AccumulateMoneyVolume: "0.01354110",
    CoinCount: "21095.77494728",
    ...
  }, {
    AccumulateMoneyCount: "41156.60557210",
    AccumulateMoneyVolume: "0.01768510",
    CoinCount: "9418.16525525",
    ...
  }, {
    AccumulateMoneyCount: "50937.97566773",
    AccumulateMoneyVolume: "0.02208671",
    CoinCount: "9781.37009563",
    ...
  }]
}


ReturnTradeHistoryPub

این روش، 1000 تراکنش آخر (یا در صورت مشخص بودن پارامتر Count، تعداد کمتری) یا تراکنش های زمان مشخص شده توسط پارامترهای StartTS و EndTS را در قالب فرمت UNIX timestamp را بر می گرداند.

مثال. نمایش تاریخچه معاملات BTC_DOGE.

درخواست:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTradeHistoryPub?request=[PairName=BTC_DOGE]

پاسخ:

{
  Trades: [{
    CoinCount: "716.23394813",
    CoinPrice: "0.00000037",
    Commission: "0.00000027",
    DtCreateTS: 1502771794,
    ...
  }, {
    CoinCount: "283.76605187",
    CoinPrice: "0.00000037",
    Commission: "0.00000010",
    DtCreateTS: 1502771794,
    ...
  }]
}


ReturnChartData

این روش دادههای شمعدانی را برای یک بازار مشخص باز میکند. زمان شمشیر در دقیقه می تواند توسط پارامتر CandleTimeInMinutes تنظیم شود، شروع و پایان فاصله می تواند توسط پارامترهای StartTS و EndTS در فرمت Timestamp یونیکس تنظیم شود.

مثال. این روش نمودار قیمت سهام روزانه بی تی سی-داج را برای بازه زمانی از 1 تا 31 ژانویه 2019 برمی گرداند.

درخواست:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnChartData?request=[PairName=BTC_DOGE][CandleTimeInMinutes=1440][StartTS=1546300800][EndTS=1548892800]

پاسخ:

{
  Candles:  [{
    EndOrderPrice: "0.00000099",
    MaxOrderPrice: "0.00000100",
    MinOrderPrice: "0.00000098",
    OrderCount: 4,
    ...
  },  {
    EndOrderPrice: "0.00000100",
    MaxOrderPrice: "0.00000101",
    MinOrderPrice: "0.00000099",
    OrderCount: 2,
    ...
  },  {
    EndOrderPrice: "0.00000102",
    MaxOrderPrice: "0.00000103",
    MinOrderPrice: "0.00000100",
    OrderCount: 4 ,
    ...
  },  ...]
}


ReturnCurrencies

این روش اطلاعات مربوط به تمام ارزهای مشخص شده را نشان می دهد.

مثال. اطلاعات در مورد ارز DOGE

درخواست:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnCurrencies?request=[Names=DOGE]

پاسخ:

{
  Currencies: [{
    Delisted: false,
    Disabled: false,
    Frozen: false,
    MinConf: 6,
    Name: "Dogecoin",
    ...
  }]
}

روش های معاملاتی API

آدرس برای تجارت API: https://api.crex24.com/CryptoExchangeService/BotTrade/ <MethodName>

لازم است برای ایجاد API کلید برای استفاده از API تجاری استفاده شود(https://crex24.com/settings/tokens).

لطفا توجه داشته باشید که حد پیش فرض 6 درخواست در هر ثانیه است. اگر این کافی نیست، لطفا با تیم پشتیبانی مشتری تماس بگیرید تا در مورد افزایش محدودیت صحبت کنید.

همه درخواست API های معاملاتی به آدرس HTTP با روش POST ارسال می شود و باید حاوی هدر های زیر باشد:
  • UserKey - کلید API
  • Sign - امضای بدن درخواست POST با استفاده از یک کلید مخفی از طریق HMACSHA512 ایجاد می شود.

تمام درخواست ها باید حاوی پارامتر POST Nonce باشد. Nonce int64 نامعلوم است که همیشه باید بیشتر از مقدار قبلی باشد. شما می توانید برای این اهداف پارامتر زمان سنج استفاده کنید.

پاسخ در فرمت JSON ارسال می شود. اگر یک خطا رخ دهد، پاسخ در فرمت زیر خواهد بود:

{"Error" : {"Message" : "<error message>"}}

نمونه هایی از درخواست های ارسال شده به تجارت API در زبان های برنامه نویسی مختلف:

Readme: https://github.com/iiw/Crex24.Examples

Python: https://github.com/iiw/Crex24.Examples/blob/master/python/app.py

C#: https://github.com/3P3C/Crex24.Example/blob/master/Crex24Example/Program.cs

JS: https://github.com/iiw/Crex24.Examples/tree/master/js

PHP: https://github.com/iiw/Crex24.Examples/blob/master/php/app.php

ReturnBalances

موجودی های در دسترس را دریافت کنید.

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnBalances

متن درخواست:

{
    "Names" : ["BTC", "LTC"],    # لیست ارز اگر در دسترس نباشد، برای تمام ارزها بازیابی می شود.
    "NeedNull" : "true"          # شامل شدن موجودی های صفر به لیست.
}

پاسخ:

{
  "Balances": [
    {
      "AvailableBalances": 10.00000000,
      "InOrderBalances": 10.00000000,
      "Name": "BTC"
    },
    {
      "AvailableBalances": 0.00000000,
      "InOrderBalances": 0.00000000,
      "Name": "LTC"
    }
  ]
}

ReturnOpenOrders

سفارشات باز کنید

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOpenOrders

متن درخواست:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]    # لیست جفت های معاملاتی در صورت عدم وجود آن برای تمام جفت های معاملاتی بازیابی می شود.
}

پاسخ:

{
  "Orders": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Id": 71463796,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_LTC"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Id": 71463169,
      "IsCloseRequired": false,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

ReturnTradeHistory

تاریخچه معاملاتی بگیرید

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnTradeHistory

متن درخواست:

{
  "Pairs": ["BTC_LTC", "BTC_ETH"]   # لیست جفت های معاملاتی در صورت عدم وجود آن برای تمام جفت های معاملاتی بازیابی می شود.
}

پاسخ:

{
  "Trades": [
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01135442,
      "Commission": 0.00000166,
      "DtCreateTS": 1506085177,
      "Id": 185169,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    },
    ...
  ]
}

ReturnOrderTrades

تمام معاملات را با سفارش دریافت کنید.

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderTrades

متن درخواست:

{
  "OrderId": 51893150
}

پاسخ:

{
  "Trades": [
    {
      "CoinCount": 10.00000000,
      "CoinPrice":  0.06835904,
      "Commission": 0.00000166,
      "DtCreateTS": 1506517638,
      "Id": 185197,
      "IsMaker": true,
      "IsSell": true,
      "PairName": "BTC_ETH"
    },
    ...
  ]
}

Buy

سفارش خرید را بگذارید.

مثال. سفارش خرید 10 LTC برای BTC را با قیمت 0.01194538 خریداری کنید.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/Buy

متن درخواست:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

پاسخ:

{
  "Id": 51893288
}

Sell

سفارش خرید را بفرمایید

مثال. سفارش محل فروش 10 LTC برای BTC را با قیمت 0.01194538 قرار دهید:

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/Sell

متن درخواست:

{
  "Pair": "BTC_LTC",
  "Course": 0.01194538,
  "Volume": 10.0
}

پاسخ:

{
  "Id": 51893294
}

CancelOrder

لغو سفارش.

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrder

متن درخواست:

{
  "OrderId": 51893294
}

پاسخ:

{
  "Success": true
}

CancelOrderMulti

چندین سفارش را با لیست شناسه ها یا جفت های تجاری لغو کنید.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/CancelOrderMulti

مثال 1: لغو سفارشات با لیست شناسه:

متن درخواست:

{
  "OrderIds": [51893293, 51893292]
}

مثال ۲. لغو تمام سفارشات توسط جفت های تجاری:

متن درخواست:

{
  "PairNames": ["BTC_ETH", "BTC_LTC"]
}

پاسخ:

{
  "Success": true
}

ReturnOrderStatus

اطلاعات و تمام تراکنش های تجاری را با سفارش دریافت کنید.

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnOrderStatus

متن درخواست:

{
  "OrderId": 51893312
}

پاسخ:

{
  "CurrentOrder": {               # وضعیت سفارش فعلی
    "CoinCount": 9.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "SourceOrder": {                # وضعیت سفارش اولیه
    "CoinCount": 10.00000000,
    "CoinPrice": 0.01194538,
    "Id": 51893314,
    "IsCloseRequired": false,
    "IsSell": false,
    "PairName": "BTC_LTC"
  },
  "Trades": [                     # فهرست تراکنش های معاملات به ترتیب.
    {
      "CoinCount": 1.00000000,
      "CoinPrice": 0.01194538,
      "Commission": 0.00000000,
      "DtCreateTS": 1507465556,
      "Id": 185250,
      "IsMaker": true,
      "IsSell": false,
      "PairName": "BTC_LTC"
    }
  ]
}

ReturnDepositsWithdrawals

دریافت واریز و تاریخ برداشت تراکنشهای صفحه به صورت صفحه نمایش داده می شود، از جدیدترین شروع می شود. برای مشاهده صفحه بعدی فیلد FromId را با پایین ترین شناسه رکورد از پاسخ قبلی کامل کنید.

مثال. دریافت 100 آخرین رکورد:

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositsWithdrawals

متن درخواست:

{
  "Names": ["BTC", "LTC"],       # لیست ارز اگر در دسترس نباشد، برای تمام ارزها بازیابی می شود.
  "FromId": 0,                   # 0 یا کمترین رکورد شناسه از پاسخ قبلی.
  "Take": 100                    # تعداد سوابق برای بازگشت. حداکثر تعداد سوابق 1000 است.
}

پاسخ:

{
  "CountRemain": 1000,                          # تعداد پرونده های باقیمانده اگر 0 آن آخرین صفحه است.
  "Changes": [
    {
      "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",   # آدرس پرداخت.
      "AgentName": null,                        # نام سیستم پرداخت برای ارزهای فیات
      "CurrenceName": "BTC",
      "Id": 151,                                # ضبط شناسه
      "NeedConfirm": 15,
      "NumConfirm": 17,
      "Status": 3,                              # وضعیت پرداخت. زیر را ببینید
      "Sum": 0.20000000,
      "TimeTs": 1504100143,                     # زمان ایجاد ثبت در قالب UTC.
      "TxId": "4f37855e4ecfc8f15b58f3397a6f339ca6f941d63d097c08004f7c9dfc4ec700",   # شناسه تراکنش
      "Type": 2                                 # نوع ضبط زیر را ببینید
    },
    ...
  ],
}

مقادیر ممکن برای فیلد "وضعیت":
  1. - توسط کاربر تایید شد
  2. - تراکنش ایجاد شد
  3. - تایید اول
  4. - پردازش شده به صورت موفقیت آمیز
  5. - تراکنش کاهش یافت
  6. - در حال پردازش
  7. - توسط کاربر لغو شد
  8. - در انتظار ارسال
مقادیر ممکن برای فیلد "Type":
  1. - واریز ارز رمزپایه
  2. - برداشت ارز رمزپایه
  3. - واریز ارز فیات
  4. - برداشت پول فیات

Withdraw

یک درخواست برداشت ایجاد کنید

مثال.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/Withdraw

متن درخواست:

{
  "Currency": "BTC",
  "Sum": 1.0,
  "Address": "17XjwyX78jusTPXHxxF14ST9fWrCUcLT6L",
  "Message": "any_message"         # پیام برای معاملات (فرستاده خواهد شد اگر ارز آن را پشتیبانی می کند).
}

پاسخ:

{
  "NewBalance": 9.00000000,                         # تعادل جدید.
  "OutId": 613                                      # Id درخواست برای عقب نشینی اگر 0 نیست، درخواست با موفقیت ایجاد شده است.
}

ReturnDepositAddress

دریافت آدرس برای واریز ارز. اگر پیام برای ضبط اظهار می شود، پیام در پاسخ باید باشد.

درخواست: https://api.crex24.com/CryptoExchangeService/BotTrade/ReturnDepositAddress

مثال 1: دریافت آدرس برای واریز BTC:

متن درخواست:

{
  "Currency": "BTC"
}

پاسخ:

{
  "Address": "1JH6h3qDbAMEzAD8e7usWEqePddHzpSTgK",
  "Message": null 
}

مثال ۲. دریافت آدرس برای واریز XMR:

متن درخواست:

{
  "Currency": "XMR"
}

پاسخ:

{
  "Address": "NC6GOUR4ICVVPPK7N4UIYWDJM6LTUBJFR7OVXDS5",
  "Message": "950a239c0f98ca41"                             # پیامی که باید در هنگام ضبط اظهارنامه شود.
}