پرش به محتویات

راهنمای سریع

۵ دقیقه تا اولین درخواست

گام 1: دریافت توکن (۱ دقیقه)

export BASE_URL="https://api.example.com"
export CLIENT_ID="your_client_id"
export CLIENT_SECRET="your_client_secret"

# دریافت توکن
export JWT_TOKEN=$(curl -s -X POST "$BASE_URL/auth/login" \
  -H "Content-Type: application/json" \
  -d "{\"client_id\":\"$CLIENT_ID\",\"client_secret\":\"$CLIENT_SECRET\"}" | jq -r '.access_token')

echo "Token: ${JWT_TOKEN:0:20}..."

گام 2: مشاهده نمادها (۱ دقیقه)

# لیست نمادهای فعال
curl -X GET "$BASE_URL/api/exchange/v1/symbols?is_active=true&limit=5" \
  -H "Authorization: Bearer $JWT_TOKEN" | jq '.items[] | {symbol, is_active}'

خروجی:

{"symbol": "BTC-IRR", "is_active": true}
{"symbol": "ETH-IRR", "is_active": true}
{"symbol": "USDT-IRR", "is_active": true}

گام 3: مشاهده قیمت (۱ دقیقه)

# قیمت لحظه‌ای BTC
curl -X GET "$BASE_URL/api/exchange/v1/tickers/BTC-IRR" | jq '{symbol, last_price, daily_change}'

خروجی:

{
  "symbol": "BTC-IRR",
  "last_price": "1000000000",
  "daily_change": "50000000"
}

گام 4: مشاهده موجودی (۱ دقیقه)

# موجودی کیف پول
curl -X GET "$BASE_URL/api/accounting/v1/wallets" \
  -H "Authorization: Bearer $JWT_TOKEN" | jq '.items[] | {currency, balance, available}'

خروجی:

{"currency": "IRR", "balance": "100000000", "available": "50000000"}
{"currency": "BTC", "balance": "0.5", "available": "0.5"}

گام 5: ثبت اولین سفارش (۱ دقیقه)

# سفارش خرید
curl -X POST "$BASE_URL/api/exchange/v1/orders" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-IRR",
    "side": "buy",
    "type": "limit",
    "price": "1000000000",
    "quantity": "0.1"
  }' | jq '{uid, status, symbol, side, price, quantity}'

خروجی:

{
  "uid": "ord_123abc",
  "status": "active",
  "symbol": "BTC-IRR",
  "side": "buy",
  "price": "1000000000",
  "quantity": "0.1"
}

گردش کار کامل

۱. احراز هویت

# دریافت توکن
curl -X POST "$BASE_URL/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"client_id":"...","client_secret":"..."}'

۲. مشاهده بازار

# نمادها
curl "$BASE_URL/api/exchange/v1/symbols" -H "Authorization: Bearer $JWT_TOKEN"

# قیمت‌ها
curl "$BASE_URL/api/exchange/v1/tickers/BTC-IRR"

# عمق بازار
curl "$BASE_URL/api/exchange/v1/depth/BTC-IRR"

۳. مدیریت مالی

# موجودی
curl "$BASE_URL/api/accounting/v1/wallets" -H "Authorization: Bearer $JWT_TOKEN"

# واریز
curl -X POST "$BASE_URL/api/accounting/v1/wallets/wallet_123/deposit" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -d '{"amount":"100000000","currency":"IRR","payment_method":"bank_transfer","reference_id":"ref_123"}'

# برداشت
curl -X POST "$BASE_URL/api/accounting/v1/wallets/wallet_123/withdraw" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -d '{"amount":"50000000","currency":"IRR","destination":"bank","destination_address":"IR123..."}'

۴. معاملات

# ایجاد سفارش
curl -X POST "$BASE_URL/api/exchange/v1/orders" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -d '{"symbol":"BTC-IRR","side":"buy","type":"limit","price":"1000000000","quantity":"0.5"}'

# لیست سفارشات
curl "$BASE_URL/api/exchange/v1/orders?status=active" -H "Authorization: Bearer $JWT_TOKEN"

# لغو سفارش
curl -X POST "$BASE_URL/api/exchange/v1/orders/ord_123/cancel" -H "Authorization: Bearer $JWT_TOKEN"

# لیست معاملات
curl "$BASE_URL/api/exchange/v1/trades" -H "Authorization: Bearer $JWT_TOKEN"

اسکریپت کامل

#!/bin/bash

# تنظیمات
BASE_URL="https://api.example.com"
CLIENT_ID="your_client_id"
CLIENT_SECRET="your_client_secret"

echo "=== شروع معامله ==="

# 1. Login
echo "1. دریافت توکن..."
LOGIN=$(curl -s -X POST "$BASE_URL/auth/login" \
  -H "Content-Type: application/json" \
  -d "{\"client_id\":\"$CLIENT_ID\",\"client_secret\":\"$CLIENT_SECRET\"}")

JWT_TOKEN=$(echo $LOGIN | jq -r '.access_token')
echo "✓ توکن دریافت شد"

# 2. Check balance
echo "2. بررسی موجودی..."
curl -s "$BASE_URL/api/accounting/v1/wallets" \
  -H "Authorization: Bearer $JWT_TOKEN" | jq '.items[] | {currency, available}'

# 3. Check price
echo "3. بررسی قیمت..."
PRICE=$(curl -s "$BASE_URL/api/exchange/v1/tickers/BTC-IRR" | jq -r '.last_price')
echo "قیمت فعلی: $PRICE IRR"

# 4. Create order
echo "4. ثبت سفارش..."
ORDER=$(curl -s -X POST "$BASE_URL/api/exchange/v1/orders" \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{
    \"symbol\": \"BTC-IRR\",
    \"side\": \"buy\",
    \"type\": \"limit\",
    \"price\": \"$PRICE\",
    \"quantity\": \"0.1\"
  }")

ORDER_ID=$(echo $ORDER | jq -r '.uid')
echo "✓ سفارش ثبت شد: $ORDER_ID"

# 5. Check orders
echo "5. لیست سفارشات فعال..."
curl -s "$BASE_URL/api/exchange/v1/orders?status=active" \
  -H "Authorization: Bearer $JWT_TOKEN" | jq '.items[] | {uid, symbol, side, price, quantity}'

echo "=== پایان ==="

نکات کلیدی

✅ انجام دهید

  • همیشه از HTTPS استفاده کنید
  • توکن را در متغیر محیطی ذخیره کنید
  • خطاهای احتمالی را مدیریت کنید
  • از jq برای پردازش JSON استفاده کنید

❌ انجام ندهید

  • توکن را در کد قرار ندهید
  • از HTTP استفاده نکنید
  • درخواست‌ها را بدون بررسی خطا ارسال نکنید

دستورات مفید

# ذخیره پاسخ در فایل
curl ... > response.json

# نمایش هدرها
curl -I ...

# نمایش جزئیات
curl -v ...

# با jq
curl ... | jq '.items[] | {field1, field2}'

بعدی: مطالعه FAQ برای سوالات متداول