Skip to main content

Zdieľaná Open API aplikácia & rate limits

Predvolene každý používateľ registruje vlastnú cTrader Open API aplikáciu pod Settings → Open API. White-label operátor (typicky cTrader broker alebo reseller) môže namiesto toho dodať jednu zdieľanú Open API aplikáciu pre všetkých používateľov — nikto neregistruje vlastnú; každý autorizuje svoje účty cez operátorovu jedinú aplikáciu.

Dva spôsoby ako poskytnúť zdieľanú aplikáciu​

Zdieľaná aplikácia sa provisioningbuje buď z deployment config alebo z owner settings UI (owner-set hodnota vyhráva). Poskytnite ju raz a shared-mode sa zapne pre všetkých.

1. Deployment konfigurácia (seeding pri štarte)​

"App": {
"OpenApi": {
"PublicBaseUrl": "https://cmind.yourbroker.com", // kanonická verejná URL TOHTO deploymentu
"SharedApp": {
"Enabled": true,
"Name": "YourBroker Open API",
"ClientId": "1234_abcd...",
"ClientSecret": "…" // encrypted at rest; nikdy nelogované
}
}
}

Pri štarte aplikácia seedingne jednu zdieľanú aplikáciu vlastnenú owner účtom (idempotent — nikdy neprepíše owner-editovanú runtime hodnotu, a re-seeding je no-op).

2. Owner settings (runtime, bez redeployu)​

Settings → Open API (len owner) zobrazuje dve veci: sekcia Vaša Open API aplikácia — owner registruje, upravuje a autorizuje svoju vlastnú per-user aplikáciu presne ako hocikto iný používateľ (dostupná pokiaľ nie je nakonfigurovaná žiadna shared app) — a Deployment shared application card na pridanie / úpravu / vymazanie zdieľanej aplikácie, s redirect URL zobrazenou na copy-paste. Zmeny naberajú účinnosť pre nové autorizácie okamžite. Keď je shared app nakonfigurovaná, superseduje owner vlastnú aplikáciu a sekcia Vaša Open API aplikácia sa zmení na upozornenie, že účty sa teraz autorizujú cez shared app.

Redirect URL (zaregistrujte to v cTrader)​

Každá cTrader Open API aplikácia registruje jednu redirect URL — rovnakú jednu hodnotu pre zdieľanú aplikáciu aj pre akúkoľvek per-user aplikáciu:

{your deployment URL}/openapi/callback

napríklad https://cmind.yourbroker.com/openapi/callback.

  • Aplikácia zobrazuje presnú hodnotu na stránke Open API settings (s kopírovacím tlačidlom) — vložte ju do cTrader partner portálu keď vytvárate Open API aplikáciu.
  • Je zložená z App:OpenApi:PublicBaseUrl takže zostáva stabilná za reverse proxy / CDN; keď to nie je nastavené, vracia sa k inbound request host.
  • Invite vs normálny používateľský experience sa líši len v tom, kde používateľ pristane po callbacku (zoznam jeho účtov vs potvrdenie "účty pridané") — registrovaná redirect URL sa nezmení.

Čo používateliavidia v shared mode​

Keď zdieľaná aplikácia existuje:

  • Používatelia nemajú možnosť registrovať vlastnú Open API aplikáciu — settings stránka zobrazuje "Open API je spravované vaším poskytovateľom" a tlačidlo Authorize accounts ktoré používa zdieľanú aplikáciu.
  • Akékoľvek pre-existujúce osobné aplikácie sú odstránené; ich autorizované účty sú prepojené na zdieľanú aplikáciu a musia byť znovu autorizované (ich staré tokeny boli vydané pod iným client id). Pokus o vytvorenie osobnej aplikácie vráti chybu "managed by your provider".

Client rate limits (per message type)​

Client paceuje odchádzajúce cTrader Open API správy tak, aby burst nikdy nevyvolal server-side rate-limit blok. Limity sú per message type, zodpovedajú cTrader Open API dokumentácii:

KategóriaČo pokrývaPredvolené
Generaltrading + read správy (orders, symbols, account queries)45 msg/s
HistoricalDatatrendbar / tick-data požiadavky (cTrader ich throttleuje prísnejšie)5 msg/s

Historical-data požiadavka sa počíta proti obehám — jej vlastnej aj general bucket. Heartbeat a autentizačné správy sa nikdy nepaceujú. Správy sa queued a drainujú dostupnou rýchlosťou — nič nie je dropnuté a poradie je zachované.

Nastavte ich ak váš broker negotiations vyššie cTrader limity, alebo nastavte kategóriu na 0 pre disable pacing úplne (neobmedzené):

  • Config: App:OpenApi:RateLimits:General / App:OpenApi:RateLimits:HistoricalData (msgs/sec).
  • Owner settings: Client rate limits card na Settings → Open API (owner override vyhráva, aplikuje sa na nové connection / pri reconnect).