İstek Limitleri

TradeWise Developer API'sinde uygulanan istek ve emir limitleri hakkında bilgi.

Genel Bakış

Developer API, adil kullanım ve altyapı koruması için katmanlı rate limiting uygular. Limit aşıldığında 429 Too Many Requests döner; Retry-After ve X-RateLimit-* başlıkları bir sonraki uygun istek zamanını gösterir.

Emir iletimi için saatlik emir limiti yoktur. Emir kotası yalnızca dakikalıktır ve aracı kuruma göre değişiklik gösterebilir.

Limit Değer Kapsam
Global saatlik istek limiti 5000 istek / saat (emir kotası değil) Kullanıcı — JWT ile korunan tüm uçlar
Portföy sorguları Broker başına 3 saniyede 1 istek POST /api/v1/accounts/positions, POST /api/v1/accounts/daily-orders
Emir iletimi (dakikalık) Aracı kuruma göre değişir; saatlik emir limiti yoktur Kullanıcı + broker — orders / chain / batch / oco

Broker bazlı emir limitleri

Dakikalık emir limiti aracı kuruma göre değişiklik gösterebilir; kurumun TradeWise’a bildirdiği değer uygulanır. Tanım yoksa varsayılan dakikalık kota kullanılır.

Kurum Brokerage kodu Dakikalık emir limiti
Marbaş Menkul MarbasMenkul 500 emir / dakika

Marbaş Menkul şu an TradeWise’a dakikada 500 emir limiti vermektedir.

Limit Aşıldığında

Limit aşıldığında 429 Too Many Requests yanıtı döner. Yanıtta, kaç saniye beklemeniz gerektiğini bildiren bir Retry-After header'ı bulunur.

{
  "success": false,
  "message": "İstek limiti aşıldı. Lütfen bekleyin.",
  "retryAfterSeconds": 1
}

Örnek — Retry Mantığı

429 aldığınızda Retry-After header'ına göre bekleyip isteği tekrarlayın:

using System.Net.Http;
using System.Text;

public async Task<HttpResponseMessage> GetPositionsAsync(string requestJson)
{
    async Task<HttpResponseMessage> SendAsync()
    {
        using var content = new StringContent(requestJson, Encoding.UTF8, "application/json");
        return await _httpClient.PostAsync("/api/v1/accounts/positions", content);
    }

    var response = await SendAsync();

    if ((int)response.StatusCode == 429)
    {
        var retryAfter = response.Headers.RetryAfter?.Delta ?? TimeSpan.FromSeconds(1);
        await Task.Delay(retryAfter);
        response = await SendAsync();
    }

    return response;
}

Entegre aracı kurumlar (brokerage kodları)

Emir, hesap ve portföy uçlarında brokerageCode alanında aşağıdaki kurum kodlarını kullanın. Kodlar büyük/küçük harfe duyarlıdır; tam olarak yazıldığı gibi gönderilmelidir.

Kurum Brokerage kodu
Marbaş Menkul MarbasMenkul
Marbaş Menkul: Kurum kodu MarbasMenkul değeridir. Örnek: "brokerageCode": "MarbasMenkul"