Пређи на главни садржај

Дељена Open API апликација и rate limits

По подразумевању сваки корисник региструје сопствену cTrader Open API апликацију под Settings → Open API. White-label оператор (типично cTrader брокер или reseller) може уместо тога да испоручи једну дељену Open API апликацију за све кориснике — нико не региструје сопствену; сви овлашћују своје налоге кроз операторову једну апликацију.

Два начина да се обезбеди дељена апликација​

Дељена апликација се обезбеђује или из deployment конфигурације или из owner settings UI (owner-set вредност побеђује). Обезбедите једном и режим дељења се укључује за све.

1. Deployment конфигурација (семљивана при покретању)​

"App": {
"OpenApi": {
"PublicBaseUrl": "https://cmind.yourbroker.com", // канонски јавни URL OVOG deployment-а
"SharedApp": {
"Enabled": true,
"Name": "YourBroker Open API",
"ClientId": "1234_abcd...",
"ClientSecret": "…" // шифровано at rest; никада не логује се
}
}
}

При покретању, апликација семљије једну дељену апликацију у власничком власничком налогу (идемпотентно — никада не преписује власнички-уређивану runtime вредност, и поновно семљивање је no-op).

2. Owner settings (runtime, без redeploy-а)​

Settings → Open API (само власник) приказује две ствари: одељак Ваша Open API апликација — власник региструје, уређује и овлашћује своју сопствену per-user апликацију баш као свако други корисник (доступно док није конфигурисана дељена апликација) — и картицу Deployment shared application да додаш / уредиш / обришеш дељену апликацију, са приказаним redirect URL-ом за copy-paste. Промене ступају на снагу за нове овлашћења одмах. Када се дељена апликација конфигурише, она замењује власникову сопствену апликацију, и одељак Ваша Open API апликација се преноси на обавештење да налози сада овлашћују кроз дељену апликацију.

Redirect URL (региструјте ово у cTrader-у)​

Свака cTrader Open API апликација региструје један redirect URL — исту једну вредност за дељену апликацију и за било коју per-user апликацију:

{your deployment URL}/openapi/callback

на пример https://cmind.yourbroker.com/openapi/callback.

  • Апликација приказује тачну вредност на Open API settings страници (са дугметом за копирање) — залепите га у cTrader partner портал када креирате Open API апликацију.
  • Састављен је од App:OpenApi:PublicBaseUrl тако да остаје стабилан иза reverse proxy / CDN-а; када је ово неподешено, враћа се на inbound request host.
  • Invite vs normal-user искуство се разликује само у томе где корисник слеће након callback-а (листа њихових налога vs потврда "accounts added") — регистровани redirect URL остаје непромењен.

Шта корисници виде у режиму дељења​

Када дељена апликација постоји:

  • Корисници немaju опцију да региструју сопствену Open API апликацију — settings страница приказује "Open API управља ваш провајдер" и дугме Овлашћуј налоге које користи дељену апликацију.
  • Било које претходно личне апликације се уклањају; њихови овлашћени налози се поново усмеравају на дељену апликацију и морају се поново овластити (њихови стари токени су издати под другим client id-јем). Покушај креирања личне апликације враћа грешку "managed by your provider".

Client rate limits (по типу поруке)​

Клијент темпира одлазак cTrader Open API порука тако да burst никада не активира server-side rate-limit блок. Лимити су по типу поруке, одговарајући cTrader Open API документима:

КатегоријаШта покриваПодразумевано
Generalтрговање + читање порука (налози, симболи, упити налога)45 msg/s
HistoricalDatatrendbar / tick-data захтеви (строже throttle-овани од стране cTrader-а)5 msg/s

Historical-data захтев се рачуна и у своју и у генералну корпу. Heartbeat и аутентикационе поруке се никада не темпирају. Поруке се ређају у ред и празне по доступној стопи — ништа се не одбацује и редослед се чува.

Подесите их ако је ваш брокер договорио више cTrader лимите, или поставите категорију на 0 да онемогућите темпирање потпуно (неограничено):

  • Конфигурација: App:OpenApi:RateLimits:General / App:OpenApi:RateLimits:HistoricalData (msgs/sec).
  • Owner settings: картица Client rate limits на Settings → Open API (owner override побеђује, примењује се на нове конекције / при поновном повезивању).