NAV
plane

مستندات 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 استفاده کنید.

در این 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
}

با قرار دادن نام بازار مورد نظر در آدرس زیر می توانید اطلاعات مربوط به تغییرات قیمت و حجم معاملات مربوط به آن بازار را دریافت کنید.

لیست سفارش‌ها:اردر بوک


 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 استفاده کنید.

پارامتر:

نماد بازار مورد نظر را باید به جای کلمه symbol وارد کنید.

لیست معاملات


 GET https://api.raastin.com/api/v1/market/trades/?symbol=SYMBOL HTTP/1.1

درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:


{
    "count": 3978,
    "next": "https://api-staging.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 استفاده کنید.

پارامترها:

معامله در بازار

برای استفاده از 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 توکن خود را ارسال کنید.

پارامترهای ورودی:

پارامتر نوع پیش‌فرض توضیحات نمونه
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 - -

حالات خطا:

لیست سفارش ها


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 ضروری است.

همچنین در این 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 استفاده کنید.

ارسال توکن در header برای استفاده از این api ضروری است.

پارامتر نوع پیش‌فرض توضیحات نمونه
id int الزامی شناسه سفارش 1054

اطلاعات مالی کاربر

درخواست برداشت


POST https://api.raastin.com/api/v1/apiwithdraw/ HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000


درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:


{
    "amount": "10.000000000000000000"
}


برای درخواست برداشت رمز ارز از این api استفاده کنید.

تاریخچه واریز رمز ارز


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 استفاده کنید.

دریافت و ساخت کیف پول


GET https://api.raastin.com/api/v1/deposit/address/?coin= &network= HTTP/1.1
Authorization: Token yourTOKENhereHEX0000000000

درصورت فراخوانی صحیح پاسخ به این صورت خواهد بود:


{
    "address": "0xd0d72802b786c45a9ccfcd7f52ac9d58b96e275f"
}

برای دریافت آدرس کیف پول و یا ساخت کیف پول جدید از این api استفاده کنید. در این api با مشخص کردن مقادیر coin و network در کوپری پارام در صورت وجود کیف پول آدرس آن برگردانده میشود و در صورت عدم وجود کیف پول ساخته شده و آدرس کیف ساخته شده برگردانده می‌شود.

مقادیر مجاز 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: