İ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 |
MarbasMenkul değeridir.
Örnek: "brokerageCode": "MarbasMenkul"