شروع سریع

Author profile photo
تیم Quickex
۱۰ شهریور ۱۴۰۴
~2 دقیقه خوانده شده

شروع سریع

API V1

احراز هویت

برای دسترسی به API V1 از توکن JWT استفاده می‌شود که به دو روش قابل دریافت است:

دریافت توکن JWT از طریق متد /api/v1/users/local/authenticate.

نمونه درخواست:

curl -i -X POST "https://quickex.io/api/v1/users/local/authenticate" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "yourPassword",
    "browserFingerprint": "UniqueNumbers"
  }'

فلگ -i هدرهای پاسخ را نشان می‌دهد، جایی که Set-Cookie: access_token و Set-Cookie: refresh_token مشاهده می‌شوند. پاسخ مورد انتظار سرور:

HTTP/2 201
date: Tue, 19 Aug 2025 12:33:17 GMT
content-type: text/plain; charset=utf-8
content-length: 2
cache-control: no-store, no-cache, must-revalidate, private
pragma: no-cache
session-id: aca467ef-8644-42a5-a166-8dd0e52b8b93
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-status: DYNAMIC
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=iZsdq9Yv4PdbIDn6DzLcuM21w%2FK3GFkDvRb%2Fws9W4WnAi4HEAsKJPuF%2FH1KZN7sE%2FnPJDhEmcT%2FxN8k3uAzd57BiR29gBZ9U8NQ%3D"}]}
server: cloudflare
set-cookie: session_id=aca467ef-8644-42a5-a166-8dd0e52b8b93; Path=/; Max-Age=7200
set-cookie: access_token=...; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=21600
set-cookie: refresh_token=...; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=1209600
cf-ray: 9719adb17a671382-ARN
alt-svc: h3=":443"; ma=86400

OK

پاسخ مورد انتظار بدون فلگ -i:

Ok

می‌توانید مقدار browserFingerprint را هر مقدار یکتای حداقل ۱۲ کاراکتری قرار دهید.

از طریق وب‌سایت Quickex

  • به صورت معمول (ایمیل + رمز عبور) وارد quickex.io شوید.
  • در DevTools (Application → Cookies) کوکی‌های access_token و refresh_token را پیدا کنید.

اولین درخواست

نمونه درخواست با استفاده از access token:

curl -X POST \
  "https://quickex.io/api/v1/users/generate-api-key" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --cookie "access_token={your_access_token}" \
  -d '{
    "name": "MyApiKey",
    "whiteListIp": ["127.0.0.1", "127.0.0.2"],
    "isActive": true
  }'

نمونه پاسخ:

{"apiId":186,"name":"MyApiKey","isActive":true,...}

API V2

دریافت کلیدها

برای کار با Quickex API v2 به یک جفت کلید نیاز دارید: publicKey و secretKey. این کلیدها به دو روش قابل دریافت هستند:

  • از طریق حساب کاربری در وب‌سایت در بخش «کلیدهای API».
  • از طریق API v1 با فراخوانی متد /api/v1/users/generate-api-key پس از احراز هویت.

روش ۱. از طریق حساب کاربری

  • به حساب کاربری خود در quickex.io وارد شوید.
  • به صفحه پروفایل → بخش «کلیدهای API» بروید.
  • یک کلید جدید ایجاد کنید و نام و (اختیاری) لیست IPها را در whitelistIp مشخص کنید.

روش ۲. از طریق API V1

curl -X POST \
  "https://quickex.io/api/v1/users/generate-api-key" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --cookie "access_token={your_access_token}" \
  -d '{
    "name": "MyApiKey",
    "whiteListIp": ["127.0.0.1", "127.0.0.2"],
    "isActive": true
  }'

نمونه پاسخ:

{"apiId":165,"name":"MyApiKey","isActive":false,...}

مهم: secretKey فقط یک بار نمایش داده می‌شود. آن را در مکانی امن ذخیره کنید.

تنظیم WhiteListIP (اختیاری)

هنگام ایجاد کلید، لیست IPهای مورد اعتماد را در whiteListIp مشخص کنید.

امضای درخواست‌ها

هر درخواست باید شامل هدرهای زیر باشد:

  • X-Api-Public-Key
  • X-Api-Timestamp
  • X-Api-Signature
Signature = Base64(HMAC_SHA256(timestamp + body + publicKey, secretKey))

نمونه تولید امضا در پایتون:

import hmac, hashlib, base64, json, time

public_key = "YOUR_PUBLIC_KEY"
secret_key = "YOUR_SECRET_KEY"

timestamp = str(int(time.time() * 1000))
body_dict = {"currencyTitle": "USDT","networkTitle": "TRC20","address": "THU...V"}
body = json.dumps(body_dict, separators=(',', ':'))
message = timestamp + body + public_key

signature = base64.b64encode(
    hmac.new(secret_key.encode(), message.encode(), hashlib.sha256).digest()
).decode()

print("X-Api-Timestamp:", timestamp)
print("X-Api-Signature:", signature)

اولین درخواست

نمونه بررسی آدرس:

curl -X POST "https://quickex.io/api/v2/instruments/public/validate-address" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Api-Public-Key: {your_api_key}" \
  -H "X-Api-Timestamp: {timestamp}" \
  -H "X-Api-Signature: {signature}" \
  -d '{
    "currencyTitle": "USDT",
    "networkTitle": "TRC20",
    "address": "THUmkPhry61edcTf79yTioV6292ccsuCjV"
  }'

پاسخ:

true
چک‌لیست یکپارچه‌سازی
  • برای v2: کلیدها را ایجاد کنید، secretKey را ذخیره کنید، whiteListIp را پیکربندی کنید، درخواست‌ها را امضا کنید.
  • برای v1: احراز هویت کرده و از کوکی‌ها استفاده کنید. برای جریان عمومی متدهای /orders/public/create و /orders/public-info کافی هستند.
این مقاله را به اشتراک بگذارید: