مستندات API راستین
سلام. مفتخریم که در صرافی راستین، خدمات با کیفیت را با کمترین کارمزد در اختیار شما مشتریان محترم قرار دهیم. با توجه به اهمیت استفاده از سرویس API برای انجام معاملات خودکار این سند تهیه شده است.
احراز هویت و توکن
جهت احراز هویت از این HTTP Header استفاده کنید:
Authorization: Token yourTOKENhereHEX0000000000
بخاطر داشته باشید که
yourTOKENhereHEX0000000000
را با توکن خود جایگذاری کنید.
API ها در راستین به دو دسته تقسیم میشوند. دسته نخست API های عمومی است که نیازی به احراز هویت و ارسال توکن نیست. برای دسترسی به API های خصوصی لازم است توکن به عنوان HTTP Header درخواست به صورت زیر ارسال شود:
راهنمای شروع به کار با API
- محدودیت فراخوانی : ۱۰۰ درخواست در دقیقه
اطلاعات بازارهای راستین
GET https://api.raastin.com/api/v1/market/symbols/ HTTP/1.1
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"name": "BTCUSDT",نام بازار
"asset": "BTC",ارز معامله شده
"base_asset": "USDT",ارز پایه
"taker_fee": "0.002", کارمزد معامله ای که بر اساس ثبت سفارش جدید روی تابلوی معاملات انجام شود
"maker_fee": "0",کارمزد معامله ای که بر اساس انتخاب از سفارشات روی تابلو انجام شود
"tick_size": 2,
"step_size": 5,
"min_trade_quantity": "0.00001",مقدار کمینه مجاز برای معامله
"max_trade_quantity": "9000",مقدار بیشینه ماز برای معامله
"enable": false فعال بودن بازار
}
برای دریافت اطلاعات مربوط به همه ی بازارهای راستین از این API استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/market/symbols
- متد :
GET
- نوع : عمومی
در این api امکان فیلتر کردن بازار بر اساس name و asset symbol و base_asset فراهم شده است. برای این منظور کافی است تا پارامترهای ذکر شده به عنوان کوئری پارام در url ارسال شود.
نمونه:
http://api.raastin.com/api/v1/market/symbols/?base_asset=USDT&asset=BTC
اطلاعات یک بازار خاص
GET https://api.raastin.com/api/v1/market/symbols/symbol/ HTTP/1.1
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"name": "USDTIRT",
"asset": "USDT",
"base_asset": "IRT",
"enable": true,
"price": null,قیمت
"change": null,تغییرات قیمت در ۲۴ ساعت
"change_percent": null,تغییرات درصد قیمت در ۲۴ ساعت
"high": null,بیشینه قیمت در ۲۴ ساعت
"low": null,کمینه قیمت در ۲۴ ساعت
"volume": null,حجم معاملات در ۲۴ ساعت
"base_volume": null
}
با قرار دادن نام بازار مورد نظر در آدرس زیر می توانید اطلاعات مربوط به تغییرات قیمت و حجم معاملات مربوط به آن بازار را دریافت کنید.
- آدرس :
https://api.raastin.com/api/v1/market/symbols/symbol
- متد :
GET
- نوع : عمومی
لیست سفارشها:اردر بوک
GET https://api.raastin.com/api/v1/market/depth/symbol HTTP/1.1
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"last_trade": {اخرین معامله
"amount": "0.00049",حجم سفارش
"price": "1104354177",قیمت سفارش
"total": "541133" ارزش سفارش
},
"bids": [اردر های خرید
{
"price": "100000",
"amount": "10.00000",
"depth": "2",
"total": "1000000"
}
],
"asks": [اردرهای فروش
{
"price": "1112952204",
"amount": "0.01517",
"depth": "33",
"total": "16883484"
},
}
برای دریافت لیست سفارشهای هر بازار از این API استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/market/depth/symbol
- متد :
GET
- نوع : عمومی
پارامتر:
نماد بازار مورد نظر را باید به جای کلمه symbol وارد کنید.
لیست معاملات
GET https://api.raastin.com/api/v1/market/trades/?symbol=SYMBOL HTTP/1.1
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"count": 3978,
"next": "https://api.raastin.com/api/v1/market/trades/?limit=20&offset=20&symbol=BTCIRT",
"previous": null,
"results": [
{
"created": "2022-04-27T14:48:27.378360+04:30",
"coin": "BTC",
"pair": "IRT",
"amount": "0.00064",
"price": "1099759483",
"pair_amount": "703846",
"is_buyer_maker": true
},
{
"created": "2022-04-27T14:47:17.375744+04:30",
"coin": "BTC",
"pair": "IRT",
"amount": "0.00065",
"price": "1113288328",
"pair_amount": "723637",
"is_buyer_maker": false
},
}
برای دریافت لیست معاملات هر بازار از این API استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/market/trades/?symbol=SYMBOL
- متد :
GET
- نوع : عمومی
پارامترها:
معامله در بازار
برای استفاده از api های این بخش استفاده از توکن و تعریف ip های مجاز الزامی است. برای دریافت توکن و تعریف ip های مجاز لازم است به پنل حساب کاربری خود مراجعه کنید. توجه به این نکته ضروری است که فقط در هنگام درخواست نخست امکان مشاهده توکن وجود دارد و در درخواست های بعدی برای حفظ مسائل امنیتی توکن به صورت کامل نشان داده نمیشود. از این رو ضروری است تا توکن نمایش داده شده در درخواست اول را کپی کنید. در صورت فراموشی توکن ارسال شده لازم است تا توکن قبلی را حذف کرده و توکن جدیدی بسازید.
ثبت سفارش جدید
POST https://api.raastin.com/api/v1/market/orders/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"id": 620881,
"created": "2022-04-27T17:03:57.002570+04:30",
"symbol": "BTCIRT",
"amount": "100.00000",
"filled_amount": "0.00000",
"price": "100000",
"filled_price": null,
"side": "buy",
"fill_type": "limit",
"status": "new"
}
برای ثبت سفارش معامله در بازار راستین از این api استفاده کنید. توجه به این نکته ضروری است که ثبت سفارش الزاما به معنی انجام معامله نیست. با درخواست مشاهده وضعیت سفارش می توانید از وضعیت سفارش خود مطلع شوید. برای استفاده از این api لازم است تا در قسمت header توکن خود را ارسال کنید.
- آدرس :
https://api.raastin.com/api/v1/market/orders/
- متد :
POST
- نوع : خصوصی
پارامترهای ورودی:
پارامتر | نوع | پیشفرض | توضیحات | نمونه |
---|---|---|---|---|
symbol | string | الزامی | بازار | - |
amount | string, int | الزامی | مقدار سفارش | - |
price | string, int | الزامی | قیمت سفارش | - |
side | string(buy, sell) | buy | نوع سفارش | - |
fill_type | string(limit, market) | limit | نحوه اجرای سفارش | - |
market | string(spot, margin, loan) | spot | - | - |
حالات خطا:
- واحد قیمت در بازار های ریالی به ریال است.
- واحد قیمت در بازارهای تتری نیز تتر میباشد.
- واحد پارامتر amount بر اساس رمز ارز مبدا است.
لیست سفارش ها
GET https://api.raastin.com/api/v1/market/orders/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 620597,
"created": "2022-04-27T16:06:29.953660+04:30",
"symbol": "BTCIRT",
"amount": "100.00000",
"filled_amount": "0.00000",
"price": "100000",
"filled_price": null,
"side": "buy",
"fill_type": "limit",
"status": "new"
}
]
}
برای دریافت لیست همه سفارش ها میتوانید از این api استفاده کنید.
ارسال توکن دریافتی در header برای استفاده از این api ضروری است.
- آدرس :
https://api.raastin.com/api/v1/market/orders/
- متد :
GET
- نوع : خصوصی
همچنین در این api امکان فیلتر کردن بر اساس وضعیت سفارش و بازار وجود دارد.
آدرس:
https://api.raastin.com/api/v1/market/orders/?symbol=&status=
مقادیر مجاز برای symbol همان بازارهای راستین است و مقادیر مجاز برای status , Canceled,new,filled است.
برای دریافت اطلاعات مربوط به یک سفارش کافیست در انتهای ادرس api مربوط به لیست سفارشات id سفارش مورد نظر را قرار دهید.
https://api.raastin.com/api/v1/market/orders/1
لغو سفارش
POST https://api.raastin.com/api/v1/market/orders/cancel/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
id: 1054
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"id": "620597",
"canceled_at": "2022-04-27 12:31:49.827768+00:00"
}
برای لغو یک سفارش میتوانید از api استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/market/orders/cancel/
- متد :
POST
- نوع : خصوصی
ارسال توکن در header برای استفاده از این api ضروری است.
پارامتر | نوع | پیشفرض | توضیحات | نمونه |
---|---|---|---|---|
id | int | الزامی | شناسه سفارش | 1054 |
اطلاعات مالی کاربر
درخواست برداشت
POST https://api.raastin.com/api/v1/apiwithdraw/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"amount": "10.000000000000000000"
}
برای درخواست برداشت رمز ارز از این api استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/apiwithdraw
- متد :
POST
- نوع : خصوصی
تاریخچه واریز رمز ارز
GET https://api.raastin.com/api/v1/deposit/list/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"created": "2022-04-12T17:18:53.909319+04:30",
"amount": "49",
"status": "done",
"link": "",
"out_address": "as",
"coin": "USDT",
"network": "BSC",
"trx_hash": null,
"fee_amount": "1"
}
]
}
برای مشاهده تاریخچه واریزهای خود از این api استفاده کنید.
- آدرس :
https://api.raastin.com/api/v1/deposit/list/
- متد :
GET
- نوع : خصوصی
دریافت و ساخت کیف پول
GET https://api.raastin.com/api/v1/deposit/address/?coin= &network= HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"address": "0xd0d72802b786c45a9ccfcd7f52ac9d58b96e275f"
}
برای دریافت آدرس کیف پول و یا ساخت کیف پول جدید از این api استفاده کنید. در این api با مشخص کردن مقادیر coin و network در کوپری پارام در صورت وجود کیف پول آدرس آن برگردانده میشود و در صورت عدم وجود کیف پول ساخته شده و آدرس کیف ساخته شده برگردانده میشود.
- آدرس :
https://api.raastin.com/api/v1/apiwithdraw
- متد :
GET
- نوع : خصوصی
مقادیر مجاز coin و network:
coin | network |
---|---|
USDT | BTC |
دریافت مقادیر آزاد هر کیف پول
GET https://api.raastin.com/api/v1/wallet/balance/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000
درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:
{
"wallet": [
{
"asset": "USDT",
"free": "100000"
},
{
"asset": "BTC",
"free": "100000"
},
{
"asset": "IRT",
"free": "100000"
}
]
}
برای دریافت لیست کیف پول ها و مقادیر آزاد هر کدام میتوانید از این api استفاده کنید. مقادیر مجاز coin و network:
- آدرس :
https://api.raastin.com/api/v1/wallet/balance/
- متد :
GET
- نوع : خصوصی