API به زبان ساده
تصور کنید وارد رستوران شدهاید. شما منو را میبینید، انتخاب میکنید، و به گارسون میگویید. گارسون سفارش شما را به آشپزخانه میبرد، آشپز غذا را آماده میکند، و گارسون آن را به میز شما میآورد. شما هرگز با آشپزخانه مستقیماً صحبت نمیکنید — فقط از طریق گارسون (که یک قرارداد مشخص دارد: منو + سفارش → غذا) کار میکنید.
API دقیقاً همین نقش را در دنیای نرمافزار دارد. شما (نرمافزار ربات) سفارش میدهید (درخواست HTTP)، API آن را به سرور میبرد، سرور پردازش میکند، و API نتیجه را به شما برمیگرداند.
چرا برای بورس به API نیاز داریم؟
بدون API، تنها راه برای ثبت سفارش این است که وارد سایت کارگزاری شوید، روی دکمهها کلیک کنید، فرمها را پر کنید و دکمهی «ثبت» را بزنید. این روش برای سرخطیزنی اصلاً مناسب نیست چون:
- کند است — کلیک دستی حداقل چند ثانیه طول میکشد.
- پر از اشتباه است — ممکن است نماد اشتباه وارد کنید.
- غیرقابل اتوماسیون است — نمیتوانید در ساعت ۸:۴۵ دقیقه بهطور خودکار سفارش بفرستید.
- قابل همگامسازی نیست — نمیتوانید چندین نماد را همزمان مدیریت کنید.
API این مشکلات را حل میکند. شما میتوانید برنامهای بنویسید (یا از ربات آمادهای مثل سرخطچی استفاده کنید) که:
- در زمان دقیق مشخصشده، سفارش ارسال کند.
- همزمان روی چند نماد کار کند.
- بهطور خودکار به شرایط بازار واکنش نشان دهد.
- تاریخچهی کامل سفارشها را ذخیره کند.
مثال عملی: ثبت سفارش خرید از طریق API
فرض کنید میخواهید ۱۰۰ سهم خودرو را در قیمت ۳۵۰۰ تومان بخرید. بدون API:
- وارد سایت کارگزاری میشوید.
- روی «معامله» کلیک میکنید.
- نماد «خودرو» را جستجو میکنید.
- تعداد ۱۰۰ را وارد میکنید.
- قیمت ۳۵۰۰ را وارد میکنید.
- روی «ثبت سفارش» کلیک میکنید.
- تأیید میکنید.
این فرایند حداقل ۱۵ تا ۲۰ ثانیه طول میکشد.
با API، کل کار در یک درخواست HTTP خلاصه میشود:
POST https://api.broker.com/v1/orders
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"symbol": "خودرو",
"side": "buy",
"quantity": 100,
"price": 3500
}
این درخواست در کمتر از ۱۰۰ میلیثانیه ارسال میشود و سرور کارگزاری بلافاصله پاسخ میدهد: «سفارش شما با شناسه ۱۲۳۴۵ ثبت شد.»
اجزای اصلی یک درخواست API
۱. URL (آدرس)
هر API یک آدرس دارد. مثلاً https://api.broker.com/v1/orders. این آدرس میگوید کدام منبع را میخواهید.
۲. HTTP Method (فعل)
چه کاری میخواهید با آن منبع انجام دهید؟
GET= فقط خواندن (مثلاً دیدن قیمت)POST= ایجاد (مثلاً ثبت سفارش جدید)DELETE= حذف (مثلاً لغو سفارش)
۳. Headers (سرصفحهها)
اطلاعات اضافی که همراه درخواست ارسال میشوند:
Authorization: توکن احراز هویت شما.Content-Type: فرمت دادهای که میفرستید (معمولاً JSON).
۴. Body (بدنه)
دادههای اصلی درخواست. برای ثبت سفارش، بدنه شامل نماد، تعداد، قیمت و جهت معامله است.
پاسخ API
پس از ارسال درخواست، سرور پاسخ میدهد. پاسخ شامل:
- Status Code: عدد ۳ رقمی که وضعیت را نشان میدهد (مثلاً ۲۰۰ یعنی موفق).
- Response Body: دادههای بازگشتی، معمولاً به فرمت JSON. مثلاً
{"orderId": "12345", "status": "pending"}.
چگونه از API کارگزاری خود استفاده کنید؟
- بررسی کنید: آیا کارگزاری شما API ارائه میدهد؟ (در سایت کارگزاری بخش «API» یا «توسعهدهندگان» را جستجو کنید.)
- ثبتنام کنید: معمولاً باید فرم DEVELOPER ثبت کنید و API Key دریافت کنید.
- مستندات را بخوانید: هر کارگزاری مستندات خاص خود را دارد — URLها، پارامترها، محدودیتها.
- تست کنید: اول با مبالغ کوچک و در ساعات کمبار تست کنید.
- ربات را متصل کنید: ربات سرخطچی آمادهی اتصال به هر API کارگزاری است — فقط کافی است URL، هدرها و بدنهی درخواست را در پنل وارد کنید.
مزایای استفاده از ربات سرخطچی بهجای کدنویسی خودتان
شما میتوانید خودتان با پایتون یا Node.js ربات بنویسید، اما:
- زمانبر است (هفتهها توسعه)
- نیاز به دانش فنی عمیق دارد
- تست و دیباگ دشوار است
- نگهداری و بهروزرسانی سخت است
ربات سرخطچی تمام این کارها را انجام داده است. شما فقط:
- URL و هدرهای API کارگزاری را وارد میکنید.
- زمان ارسال را تنظیم میکنید.
- دکمهی «شروع» را میزنید.
و ربات در میلیثانیهی اول، درخواست شما را با دقت ارسال میکند.
جمعبندی
API پلی است بین شما و سرور کارگزاری. یادگیری مفاهیم پایهی API به شما کمک میکند بفهمید رباتهای معاملهگری چطور کار میکنند و چطور میتوانید از آنها بهترین استفاده را ببرید. نیازی نیست برنامهنویس باشید تا از سرخطچی استفاده کنید — اما دانستن مفاهیم پایه به شما قدرت بیشتر میدهد. در مقالهی بعدی، استانداردهای پیشرفتهی API و نکات فنی رباتهای حرفهای را بررسی میکنیم.