بۆ گەشەپێدەران

بەڵگەنامەی API

لە بەرنامەکانی خۆتەوە هەژمارەکەت بخوێنەوە و لە بازاڕە سپۆتەکاندا بازرگانی بکە. ئەم پەڕەیە کلیلەکانی API، واژۆکردنی داواکارییەکان، ئەو ئێندپۆینتانەی کلیلێک دەتوانێت داواکارییان بۆ بنێرێت، و چۆنیەتیی ئاماژەکردن بە داتای هەژمارەکەت ڕوون دەکاتەوە.

لەم پەڕەیەدا
کلیلەکانی API بۆ ئەو بەرنامانەن کە لەسەر سێرڤەرەکانی خۆت کار دەکەن. نهێنییەکە هەموو داواکارییەک واژۆ دەکات، بۆیە هەرگیز مەیخەرە ناو پەڕەیەکی وێب، ئەپی مۆبایل یان ڕیپۆزیتۆریی گشتی. سامان تەنها لە ڕێگەی ماڵپەڕەوە، بە 2FA، لە هەژمارەکەت دەردەچێت: کلیلی API باڵانس دەخوێنێتەوە و بازرگانی دەکات، بەڵام سامان دەرناهێنێت.

تێڕوانینی گشتی

ڕۆژبیت APIیەکی REST دابین دەکات کە JSON بەکاردەهێنێت. بەرنامەکەت هەموو داواکارییەک بە کلیلێکی API واژۆ دەکات کە لە ماڵپەڕ دروستی دەکەیت. هیچ هەنگاوێکی چوونەژوورەوە و هیچ دانیشتنێک بۆ نوێکردنەوە نییە.

ناونیشانی بنەڕەتی (Base URL)https://api.rojbit.io

ناونیشانی تەواو بریتییە لە ناونیشانی بنەڕەتی و دوای ئەوە ڕێگای ئێندپۆینتەکە، و ڕێگای هەموو ئێندپۆینتێک بە /api/ دەست پێدەکات. بۆ نموونە، لیستی جووتەکانی بازرگانی ئەمەیە: GET https://api.rojbit.io/api/spot/exchange-info

API بۆ بەکارهێنانی سێرڤەر بۆ سێرڤەرە. هێدەری CORS بۆ ماڵپەڕەکانی تر نانێرێت، بۆیە پەڕەیەکی وێب لە وێبگەڕدا ناتوانێت بەکاری بهێنێت. لە بەشی پشتەوەی (back end) خۆتەوە بەکاری بهێنە.

کلیلەکانی API تەنها لەسەر REST API کار دەکەن. ستریمی تایبەتی WebSocket وەریان ناگرێت، بۆیە بەدواداچوونی داواکارییەکانت بە ئێندپۆینتەکانی داواکاری بکە.

داواکاری و وەڵامەکان بە JSON دەنێردرێن، بە UTF-8. کاتێک لەشێک دەنێریت، Content-Type: application/json بنێرە.

کاتێک داواکارییەک دادەنێیت، بڕ و نرخەکان وەک ژمارەی JSON دەنێردرێن. جۆری وەڵامەکان تێکەڵن: جێبەجێکردنەکان و داواکارییە کراوەکان دەقی ورد (string) دەگەڕێننەوە، لە کاتێکدا باڵانسی سپۆت balance وەک ژمارە و locked وەک دەق دەگەڕێنێتەوە. دەقەکان بە جۆری decimal بخوێنەوە، هەرگیز وەک float.

دروستکردن و بەڕێوەبردنی کلیلەکانی API

کلیلەکان لە ماڵپەڕ، لە هەژمارەکەتدا دروست دەکەیت. هەر کلیلێک ناو، دەسەڵات و لیستێکی سپی IPی دڵخواز تێدایە.

دروستکردنی کلیل

  1. ئەپی پشتڕاستکەرەوە (2FA) بۆ هەژمارەکەت چالاک بکە. دروستکردنی کلیل کۆدێک لەو ئەپە دەخوازێت.
  2. هەژمار ← کلیلەکانی API بکەرەوە و دروستکردنی کلیلی API هەڵبژێرە.
  3. ناوێک بە کلیلەکە بدە و دەسەڵاتەکانی هەڵبژێرە. خوێندنەوە باڵانس، داواکاری و مێژوو دەگرێتەوە. بازرگانی دانان و هەڵوەشاندنەوەی داواکاریی سپۆت زیاد دەکات و هەمیشە خوێندنەوەی لەخۆ دەگرێت. دەرهێنان وەک بەردەست نییە پیشان دەدرێت.
  4. لیستی سپی IP زیاد بکە (پێشنیارکراوە): ناونیشانە گشتییەکانی ئەو سێرڤەرانەی داواکارییەکانت لێوە دەنێریت، بە کۆما جیاکراوە (تا 20 ناونیشان). کلیلێک کە بازرگانی هەبێت و لیستی سپی نەبێت 90 ڕۆژ دوای دروستکردنی بەسەردەچێت. کلیلەکانی تەنها-خوێندنەوە و ئەوانەی لیستی سپییان هەیە بەسەرناچن.
  5. کۆدی ئەپی پشتڕاستکەرەوەکەت بنووسە. دوای گۆڕینی وشەی نهێنی، ئیمەیڵ یان 2FA، دروستکردنی کلیل بۆ ماوەیەک دەوەستێت.
  6. کلیل و نهێنییەکە کۆپی بکە. نهێنییەکە تەنها جارێک پیشان دەدرێت و جارێکی تر نابینرێتەوە. ئەگەر لەدەستت دا، کلیلەکە هەڵبوەشێنەوە و یەکێکی نوێ دروست بکە.

ئەوەی وەریدەگریت

کلیلی API ناسنامەی گشتیی کلیلەکەیە. بە rjk_live_ دەست پێدەکات و 22 کاراکتەری لەدوایە. لە هێدەری X-ROJ-APIKEY دەینێریت.

نهێنییەکە بە rjs_live_ دەست پێدەکات و 49 کاراکتەری لەدوایە. هەرگیز ناینێردرێت: تەنها بۆ ژماردنی واژۆکان بەکاری دەهێنیت. وەک وشەی نهێنی بیپارێزە.

بەڕێوەبردنی کلیلەکان

  • دەتوانیت ناوی کلیلێک بگۆڕیت. دەسەڵاتەکان، لیستی سپی IP و کاتی بەسەرچوونی ناگۆڕدرێن: کلیلێکی نوێ دروست بکە و کۆنەکە هەڵبوەشێنەوە.
  • دەتوانیت لە هەر کاتێکدا، بێ کۆد، کلیلێک هەڵبوەشێنیتەوە. کلیلی هەڵوەشێنراو لە یەکەم داواکاریی دواتردا ڕادەوەستێت.
  • گۆڕینی وشەی نهێنی، ئیمەیڵ یان 2FA بە ماوەیەکی کەم دواتر هەموو کلیلە بەردەستەکانت هەڵدەوەشێنێتەوە. دوای گۆڕینەکە کلیلی نوێ دروست بکە.
  • هەر هەژمارێک دەتوانێت ژمارەیەکی سنووردار کلیلی چالاک هەبێت. پەڕەی کلیلەکانی API سنوورەکە پیشان دەدات.

واژۆکردنی داواکارییەکانت

هەر داواکارییەک بۆ ئێندپۆینتێک کە کلیلی دەوێت چوار هێدەر هەڵدەگرێت. ڕۆژبیت واژۆکە بە نهێنییەکەت دووبارە دەژمێرێتەوە و ئەگەر یەکی نەگرتەوە داواکارییەکە ڕەت دەکاتەوە.

هێدەر
وەسف
X-ROJ-APIKEY
کلیلی APIەکەت، ناسنامە گشتییەکەی کە بە rjk_ دەست پێدەکات.
X-ROJ-TIMESTAMP
کاتی واژۆکردنی داواکارییەکە، بە میلی‌چرکەی تێپەڕبوو لە Unix epoch. دەبێت زیاتر لە 1 چرکە لە کاتژمێری ئێمە پێشتر نەبێت و تەمەنی لە ماوەی وەرگرتن زیاتر نەبێت.
X-ROJ-RECV-WINDOW
ماوەی بەردەوامیی داواکارییەکە دوای کاتەکەی، بە میلی‌چرکە: لە GET دا 1000 تا 60000، لە هەموو شێوازەکانی تردا 1000 تا 5000. بەهایەک لە دەرەوەی ئەم مەودایە ڕەت دەکرێتەوە، نەک ڕێک بخرێت. 5000 بەهایەکی بنەڕەتیی باشە.
X-ROJ-SIGNATURE
واژۆی HMAC-SHA256، بە 64 کاراکتەری هێکسادێسیماڵ (پیتی بچووک یان گەورە).

هێدەری Authorization لەگەڵیان مەنێرە: داواکارییەک کە هەردووکی تێدابێت بە 400 API_KEY_MALFORMED ڕەت دەکرێتەوە. X-Device-Id پێویست نییە.

دەقی کانۆنی (canonical string)

واژۆکە بریتییە لە HMAC-SHA256ی دەقی کانۆنی، و هەموو دەقی نهێنییەکە (UTF-8، لەگەڵ پێشگری rjs_ و checksumەکەی) وەک کلیل بەکاردێت. دەقی کانۆنی حەوت خانەی هەیە کە بە یەک هێڵی نوێ (LF) بەیەکەوە بەستراون، و لە کۆتاییدا هێڵی نوێ نییە.

  1. ROJ1نیشانەی جێگیر
  2. METHODشێوازی HTTP بە پیتی گەورە
  3. PATHڕێگاکە ڕێک وەک ئەوەی دەینێریت، لەگەڵ /api، تا یەکەم ?، بێ decodeکردن
  4. QUERYهەموو شتێک دوای یەکەم ?، ڕێک وەک ئەوەی دەینێریت، بێ ڕیزکردن یان دووبارە encodeکردن؛ ئەگەر نییە بەتاڵ
  5. TIMESTAMPبەهای X-ROJ-TIMESTAMP
  6. RECV_WINDOWبەهای X-ROJ-RECV-WINDOW
  7. BODY_SHA256هاشی SHA-256ی لەشی خاوی داواکارییەکە، بە هێکسادێسیماڵی پیتی بچووک؛ بۆ داواکاریی بێ لەش، هاشی دەقی بەتاڵ

ئەو شتانەی دەبێت ڕاست بن

  • لەشی JSON تەنها یەک جار بکە بە دەق (serialize)، هاشی ئەو بایتانە بکە و هەمان بایتەکان بنێرە. تەنها application/json بە UTF-8 وەردەگیرێت؛ هەر لەشێکی تر ڕەت دەکرێتەوە.
  • کاتژمێری سێرڤەرەکەت ورد بهێڵەرەوە. کاتێک کاتەکە لە دەرەوەی ماوەکە بێت 401 API_KEY_TIMESTAMP_INVALID وەردەگریت و وەڵامەکە server_time_ms لەخۆ دەگرێت تاکو جیاوازییەکە ڕاست بکەیتەوە.
  • بۆ دووبارە هەوڵدانەوە، دووبارە واژۆ بکە. داواکارییەکی واژۆکراو کە GET نییە و بە هەمان واژۆ جارێکی تر دەنێردرێتەوە، بە 401 API_KEY_REPLAYED ڕەت دەکرێتەوە. ئەمە هەوڵدانەوەی خۆتیشت دەگرێتەوە دوای timeout، چونکە لەوانەیە داواکاریی یەکەم جێبەجێ کرابێت. سەرەتا داواکارییە کراوەکان و جێبەجێکردنەکانت بخوێنەوە، پاشان داواکارییەکی نوێ بە کاتێکی نوێ واژۆ بکە. داواکاریی GET هەرگیز بۆ دووبارەبوونەوە ناپشکنرێت.
  • کلیلی هەڵە، نهێنی یان واژۆی هەڵە، کلیلی هەڵوەشێنراو یان بەسەرچوو، و لەشێک کە ناتوانرێت واژۆ بکرێت، هەموویان بە ئەنقەست یەک وەڵامی 401 API_KEY_INVALID وەردەگرن. ئەگەر ئەمەت بۆ هات، کلیل، نهێنی و ئەو بایتانە بپشکنە کە واژۆت کردوون.

نموونەکان

نموونەی ڕاستکراوە بە کلیل و نهێنیی ساختە، بۆ پشکنینی کۆدی واژۆکردنەکەت
Key:        rjk_live_xxxxxxxxxxxxxxxxxxxxxx
Secret:     rjs_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Request:    GET /api/spot/open-orders?symbol=BTCUSDT (no body)
Timestamp:  1792000000000
Window:     5000

Canonical string (seven lines, no line feed after the last):
ROJ1
GET
/api/spot/open-orders
symbol=BTCUSDT
1792000000000
5000
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

X-ROJ-SIGNATURE:
88899c6f71568fdc593230e617c3f28b84091ce9d22e71961690db1348c9bd70
داواکاریی GETی واژۆکراو بە curl و openssl
KEY="rjk_live_…"
SECRET="rjs_live_…"

TARGET="/api/spot/open-orders?symbol=BTCUSDT"   # path and query, exactly as you send them
TS=$(( $(date +%s) * 1000 ))                      # milliseconds since the epoch
RW=5000

REQ_PATH=$(printf '%s' "$TARGET" | cut -d'?' -f1)    # up to the first ?
QUERY=$(printf '%s' "$TARGET" | cut -s -d'?' -f2-)   # after the first ?, empty if none
BODY_SHA=$(printf '' | openssl dgst -sha256 | awk '{print $NF}')   # no body

CANON=$(printf 'ROJ1\nGET\n%s\n%s\n%s\n%s\n%s' "$REQ_PATH" "$QUERY" "$TS" "$RW" "$BODY_SHA")
SIG=$(printf '%s' "$CANON" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $NF}')

curl -sS "https://api.rojbit.io$TARGET" \
  -H "X-ROJ-APIKEY: $KEY" \
  -H "X-ROJ-TIMESTAMP: $TS" \
  -H "X-ROJ-RECV-WINDOW: $RW" \
  -H "X-ROJ-SIGNATURE: $SIG"
Node.js: GET و POSTی واژۆکراو
// roj.mjs · Node.js 18 or later
// run: ROJ_API_KEY=… ROJ_API_SECRET=… node roj.mjs
import { createHash, createHmac } from "node:crypto";

const BASE = "https://api.rojbit.io";
const API_KEY = process.env.ROJ_API_KEY; // rjk_live_…
const API_SECRET = process.env.ROJ_API_SECRET; // rjs_live_…

async function call(method, target, body) {
  const m = method.toUpperCase();
  const raw = body === undefined ? "" : JSON.stringify(body); // serialize once
  const q = target.indexOf("?");
  const path = q === -1 ? target : target.slice(0, q);
  const query = q === -1 ? "" : target.slice(q + 1);
  const timestamp = String(Date.now());
  const recvWindow = "5000";
  const bodyHash = createHash("sha256").update(raw, "utf8").digest("hex");
  const canonical = ["ROJ1", m, path, query, timestamp, recvWindow, bodyHash].join("\n");
  const signature = createHmac("sha256", API_SECRET).update(canonical, "utf8").digest("hex");

  const res = await fetch(BASE + target, {
    method: m,
    headers: {
      "X-ROJ-APIKEY": API_KEY,
      "X-ROJ-TIMESTAMP": timestamp,
      "X-ROJ-RECV-WINDOW": recvWindow,
      "X-ROJ-SIGNATURE": signature,
      ...(raw && { "Content-Type": "application/json" }),
    },
    body: raw || undefined, // the same bytes that were hashed
  });
  console.log("weight", res.headers.get("x-roj-used-weight-1m"), "of", res.headers.get("x-roj-weight-limit-1m"));
  return res.json();
}

console.log(await call("GET", "/api/wallets/spot"));
console.log(
  await call("POST", "/api/spot/limit", { symbol: "BTCUSDT", side: "buy", baseQty: 0.002, limitPrice: 50000 }),
);

ئێندپۆینتەکان

ئەمانە ئەو ئێندپۆینتانەن کە کلیلی API دەتوانێت داواکارییان بۆ بنێرێت، لەگەڵ ئەوانەی گشتین و کلیلیان ناوێت. ڕێگای هەموویان لە دوای ناونیشانی بنەڕەتی https://api.rojbit.io بە /api دەست پێدەکات.

گشتی: کلیل ناوێت

ئەمانە نە کلیل و نە واژۆیان ناوێت.

شێواز
ڕێگا
چی دەکات
GET
/api/spot/exchange-info
جووتەکانی بازرگانی و یاساکانیان (کەمترین بڕی داواکاری، فلتەرەکانی نرخ و بڕ)، و ئایا بازرگانیی سپۆت چالاکە. فلتەری دڵخوازی symbol.
GET
/api/fees/schedule
خشتەی گشتیی کرێ: ڕێژەی دروستکەر (maker) و وەرگر (taker) بۆ هەر ئاستێکی کرێ.
GET
/api/status
دۆخی پلاتفۆرم: پێکهاتەکان، ڕووداوەکان و چاککردنەکان کە لە پەڕەی دۆخدا پیشان دەدرێن. لە خولەکێکدا زیاتر لە جارێک داواکاری مەنێرە.

دەسەڵاتی خوێندنەوە

ئەمانە کلیلێک دەخوازن کە خوێندنەوەی هەبێت، کە scopeەکانی spot.read، wallet.read و account.read لەخۆ دەگرێت.

شێواز
ڕێگا
چی دەکات
GET
/api/wallets/spot
باڵانسی سپۆتەکەت، یەک ڕیز بۆ هەر سامانێک: balance بەردەستە بۆ بازرگانی و locked لە داواکارییە کراوەکاندا گیراوە.
GET
/api/wallets/funding
باڵانسی جزدانی funding، یەک ڕیز بۆ هەر سامانێک.
GET
/api/spot/open-orders
داواکاریی سپۆتی کراوەی (چاوەڕوان) خۆت. فلتەری دڵخوازی symbol.
GET
/api/spot/orders/{clientOrderId}
دۆخی یەک داواکاری. لە وەڵامەکەدا kind یەکێکە لە resting، fill، rejected یان pending.
GET
/api/spot/fills
جێبەجێکردنەکانت، نوێترینەکان یەکەم، لاپەڕە بە لاپەڕە. symbol، limit و before دڵخوازن.
GET
/api/history/transactions
مێژووی مامەڵەکانت، نوێترینەکان یەکەم. بە limit و offset لاپەڕە دەکرێت.
GET
/api/fees/tier
ئاستی کرێی ئێستات و ڕێژەکانی دروستکەر و وەرگر.
GET
/api/notifications
ئاگادارییەکانت. limit، unread و before دڵخوازن.
GET
/api/legal
کام بەڵگەنامە یاساییەکانت قبووڵ کردووە. قبووڵکردنیان لە ماڵپەڕ دەکرێت.

دەسەڵاتی بازرگانی

ئەمانە کلیلێک دەخوازن کە بازرگانی هەبێت، کە spot.trade و هەموو ئەوەی خوێندنەوە لەخۆ دەگرێت. داواکاریی وەرگیراو بە HTTP 202 وەڵام دەدرێتەوە و دواتر جێبەجێ دەکرێت.

شێواز
ڕێگا
چی دەکات
POST
/api/spot/order
داواکاریی بازاڕ. کڕین quoteOrderQty دەنێرێت، فرۆشتن baseQty دەنێرێت.
POST
/api/spot/instant
داواکاریی بازاڕ کە لەناو maxSlippageBps (1 تا 1000) جێبەجێ دەبێت، یان بە تەواوی ڕەت دەکرێتەوە.
POST
/api/spot/limit
داواکاریی سنووردار بە baseQty و limitPrice.
POST
/api/spot/stop-limit
داواکاریی ستۆپ-سنووردار بە baseQty، limitPrice و stopPrice.
POST
/api/spot/orders/{clientOrderId}/cancel
یەکێک لە داواکارییە کراوەکانت هەڵبوەشێنەوە.

بۆ کلیلەکانی API بەردەست نییە

هەموو ئێندپۆینتێکی تر بە 403 API_KEY_NOT_PERMITTED وەڵام دەداتەوە: دەرهێنان، گواستنەوە، ناونیشانە پاشەکەوتکراوەکان، ناونیشانی دانان، مێژووی دانان و دەرهێنان، ڕێکخستنەکانی ئاسایش، پشتڕاستکردنەوەی ناسنامە، پرۆفایل، ئاگاداری نرخ، تیکێتی پشتگیری، بانگهێشت و بەڕێوەبردنی کلیلەکان. ئەمانە لە ماڵپەڕ بکە.

ئاماژەکانی هەژمار

کلیلی API هی یەک هەژمارە، و هەژمارەکە لە کلیلەکەوە دیاری دەکرێت. هیچ ئێندپۆینتێک ژمارەی هەژمار، ناسنامەی بەکارهێنەر یان UID وەرناگرێت، و userId لە لەش یان query string دا پشتگوێ دەخرێت.

UIDەکەت

UIDەکەت ئەو ژمارەیەیە کە لە هەژمار ← پرۆفایل و لە مێنیوی هەژمار پیشان دەدرێت. کاتێک پەیوەندی بە پشتگیرییەوە دەکەیت بیڵێ. ئەمە بۆ مرۆڤەکانە و کلیل یان نهێنی نییە: هەرگیز بۆ API ناینێریت، و کلیلی API ناتوانێت ئەو ئێندپۆینتی پرۆفایلە بانگ بکات کە دەیگەڕێنێتەوە. وەک خۆی پیشانی بدە و هیچ مانایەک لە ژمارەکانی مەگرە.

باڵانسەکان

GET /api/wallets/spot و GET /api/wallets/funding یەک ڕیز بۆ هەر سامانێک دەگەڕێننەوە، کە بە کورتکراوەی ناوەکەی دەناسرێتەوە، بۆ نموونە USDT. لە جزدانی سپۆتدا، balance بەردەستە بۆ بازرگانی و locked لە داواکارییە کراوەکانتدا گیراوە. کۆکراوەیان کۆی باڵانسی ئەو سامانەیە.

داواکارییەکان

هەر داواکارییەک ناسنامەیەکی هەیە بە ناوی clientOrderId. ڕۆژبیت دروستی دەکات و کاتێک داواکارییەکەت وەردەگرێت دەیگەڕێنێتەوە (HTTP 202، دۆخی accepted). بۆ خوێندنەوە و هەڵوەشاندنەوەی ئەو داواکارییە بە ئێندپۆینتەکانی داواکاری لە سەرەوە بەکاری بهێنە. GET /api/spot/open-orders داواکارییە کراوەکانت لیست دەکات.

مامەڵەکان

GET /api/spot/fills جێبەجێکردنەکانت لیست دەکات، نوێترینەکان یەکەم. هەر جێبەجێکردنێک ئەمانەی تێدایە: clientOrderId (ناسنامەی داواکارییەکەی، دەکرێت null بێت)، symbol، side و liquidity (maker یان taker). بۆ لاپەڕەی دواتر، کە کۆنترە، بەهای nextCursor لە وەڵامەکەدا وەک before بنێرە؛ ئەگەر null بوو چیتر نییە.

جووتەکانی بازرگانی

جووتێک لە API دا وەک یەک وشە دەنووسرێت، بۆ نموونە BTCUSDT. وەک symbol بەکاری بهێنە.

سنوورەکان و هێدەرەکانی وەڵام

هەر کلیلێک سێ بودجەی هەیە: کێشی داواکاری لە خولەکێکدا، و دانانی داواکاری لە 10 چرکەدا و لە ڕۆژێکدا. هەر داواکارییەک کێشێک دەخوات: خوێندنەوەیەکی تاک کەم دەخوات و لاپەڕەیەکی مێژوو زیاتر. سنوورەکان دەگۆڕدرێن، و هی تۆ هەمیشە لە هێدەرەکانی وەڵامدایە.

هەر وەڵامێک بۆ داواکارییەکی بە کلیل واژۆکراو ئەم هێدەرانە هەڵدەگرێت (هەموویان ژمارەی تەواون).

هێدەر
وەسف
X-ROJ-USED-WEIGHT-1M
کێشی داواکاریی بەکارهاتوو لە 60 چرکەی ڕابردوودا.
X-ROJ-WEIGHT-LIMIT-1M
سنووری کێشی ئەم کلیلە لە هەر 60 چرکەیەکدا.
X-ROJ-ORDER-COUNT-10S
ئەو داواکاریانەی لە 10 چرکەی ڕابردوودا دانراون.
X-ROJ-ORDER-LIMIT-10S
سنووری داواکاریی ئەم کلیلە لە هەر 10 چرکەیەکدا.
X-ROJ-ORDER-COUNT-1D
ئەو داواکاریانەی لە 24 کاتژمێری ڕابردوودا دانراون.
X-ROJ-ORDER-LIMIT-1D
سنووری داواکاریی ئەم کلیلە لە هەر 24 کاتژمێرێکدا.

کاتێک بودجەیەک تەواو دەبێت، وەڵامەکە 429 دەبێت، لەگەڵ هێدەری Retry-After (بە چرکە) و لەشێک کە تێیدا code بریتییە لە RATE_LIMITED و bucket ئەو سنوورە دەستنیشان دەکات کە تێپەڕێنراوە. داواکاریی ڕەتکراوە کێشی لێ ناکرێتەوە. هەڵوەشاندنەوەی داواکاری دەژمێردرێت، بەڵام هەرگیز بە هۆی تێپەڕاندنی سنوورەوە ڕەت ناکرێتەوە.

سەلماندنی شکستخواردووش سنووردار دەکرێت. دوای شکستی دووبارە لە یەک ناونیشانی IP یان بۆ یەک کلیل، داواکاریی دواتری کلیل بۆ چەند خولەکێک 429 لەگەڵ Retry-After وەردەگرێت. واژۆکەرەکەت چاک بکە و چاوەڕێ بکە: دووبارەکردنەوەی واژۆیەکی هەڵە تەنها چاوەڕێکردنەکە درێژ دەکاتەوە.

هەڵەکان و کۆدەکانی ڕەتکردنەوە

داواکاریی شکستخواردوو لەشێکی JSON دەگەڕێنێتەوە: ok بریتییە لە false و code کۆدێکی جێگیرە. بەپێی ok و code بڕیار بدە، نەک دەقی نامەکە کە دەگۆڕدرێت. نامەکە لە msg یان error دایە. لەشی 429 خانەی ok لەخۆ ناگرێت، بۆیە بۆ ئەو دۆخی کۆدەکە (status code) بپشکنە.

نموونە: داواکارییەک زۆر درەنگ واژۆ کراوە
{
  "ok": false,
  "msg": "Unauthorized — request timestamp outside the accepted window",
  "reason": "api_key_ts_stale",
  "server_time_ms": 1792000000123,
  "code": "API_KEY_TIMESTAMP_INVALID"
}
کۆد
HTTP
مانا و ئەوەی دەبێت بیکەیت
API_KEY_MALFORMED
400
هەم هێدەری Authorization و هەم X-ROJ-APIKEY بەیەکەوە نێردراون. تەنها هێدەرەکانی کلیل بنێرە.
API_KEY_INVALID
401
کلیلەکە نەسەلمێنرا: کلیلی نەناسراو، هەڵوەشێنراو یان بەسەرچوو، واژۆی هەڵە، هێدەری خراپ یان لەشێک کە ناتوانرێت واژۆ بکرێت. هەموو ئەمانە بە ئەنقەست یەک وەڵام دەدەنەوە. کلیل، نهێنی و ئەو بایتانە بپشکنە کە واژۆت کردوون.
API_KEY_TIMESTAMP_INVALID
401
کاتەکە زۆر لە پێشەوەیە یان لە ماوەی وەرگرتن کۆنترە، یان ماوەکە لە مەودای ڕێگەپێدراو دەرەوەیە. server_time_ms لە وەڵامەکە بەکاربهێنە بۆ ڕاستکردنەوەی کاتژمێرەکەت.
API_KEY_REPLAYED
401
ئەم داواکارییە واژۆکراوە پێشتر وەرگیراوە. دۆخی ئێستا بخوێنەوە، پاشان داواکارییەکی نوێ بە کاتێکی نوێ واژۆ بکە.
API_KEY_NOT_PERMITTED
403
ئەم ئێندپۆینتە بە کلیلی API ناتوانرێت بانگ بکرێت.
API_KEY_SCOPE_DENIED
403
کلیلەکە ئەو دەسەڵاتەی نییە کە ئێندپۆینتەکە دەیخوازێت؛ requiredScope ناوی دەهێنێت. دەسەڵاتەکان ناگۆڕدرێن، بۆیە کلیلێکی نوێ دروست بکە.
API_KEY_IP_NOT_ALLOWED
403
کلیلەکە لیستی سپی IPی هەیە و داواکارییەکە لە ناونیشانێکی تر هاتووە، یان ناونیشانەکەی دیاری نەکرا.
RATE_LIMITED
429
سنوورێک تێپەڕێنرا. بە ژمارەی چرکەکانی Retry-After چاوەڕێ بکە.
API_KEYS_PAUSED
503
ڕۆژبیت دەستگەیشتنی کلیلەکانی API بۆ ئێستا وەستاندووە. وەک Retry-After دەڵێت چاوەڕێ بکە و دووبارە هەوڵ بدەرەوە؛ هەڵوەشاندنەوەی داواکاری هێشتا کار دەکات. ماڵپەڕ کاریگەر نابێت.
API_KEY_CHECK_UNAVAILABLE
503
ئێستا نەتوانرا کلیلەکە بپشکنرێت. بێ مەترسی دووبارە هەوڵ بدەرەوە.
SPOT_TRADING_DISABLED
503
بازرگانیی سپۆت بۆ ئێستا کوژێنراوەتەوە. داواکاری ڕەت دەکرێنەوە تا دووبارە چالاک دەکرێتەوە.

داواکاری سەرەتا وەردەگیرێت و دواتر جێبەجێ دەکرێت. ئەگەر داواکارییەک نەتوانرێت جێبەجێ بکرێت، ئێندپۆینتی دۆخی داواکاری وەڵام دەداتەوە کە تێیدا kind بریتییە لە rejected و code یەکێکە وەک SPOT_INSUFFICIENT_FUNDS، SPOT_SLIPPAGE_EXCEEDED یان SPOT_HALTED.

ئێندپۆینتەکانی داواکاری دەتوانن بە 403 و کۆدێکی دۆخی هەژمار وەڵام بدەنەوە، بۆ نموونە ACCOUNT_FROZEN، GEO_RESTRICTED_IP یان LEGAL_ACCEPTANCE_REQUIRED. ئەمانە لە ماڵپەڕ چارەسەر دەکرێن، نەک لە ڕێگەی API.

کۆدێکی نەزانراو بە دۆخی HTTPەکەی مامەڵە لەگەڵ بکە: 4xxی نەناسراو واتە داواکارییەکە چاک بکە، 5xx واتە دواتر دووبارە هەوڵ بدەرەوە.

پرسیارت هەیە دەربارەی API؟پەیوەندیمان پێوە بکە