Lucrum Media Company — API ZONE (B2B)
TradingZone B2B API • Diagnostics
health: unknown
Diagnostics
Partnerzy korzystają z kontraktu: /api/v1/contract/analyze (lub DEMO: /api/v1/demo/contract/analyze). Ten panel pokazuje podgląd kontraktu i renderowanie danych w UI.
CORE (Public Contract)
plan=core • trade_panel + context
JSON
Kliknij „Analizuj”.
Trade Panel / Interpretacja
CORE — partner-ready contract
Public Contract v1.1: gotowy do wdrożenia panel w Twoim UI — bez liczenia i bez ujawniania “silnika”.
Public Contract v1.1
Ready-to-render, gotowe pod partnerstwo
Jedna odpowiedź JSON zawiera wszystko do “wow” w UI: Trade Probability (0–100) + band (A–F) + 3 powody, kontekst (LOW/MID/HIGH) oraz Entry/SL/TP z guardami płynności — bez telemetrii i bez ryzyka reverse-engineeringu.
PRO (Public Contract)
plan=pro • CORE + echo_rynku
JSON
Kliknij „Analizuj”.
Trade Panel + PRO
PRO — warstwa “market narrative”
CORE + Echo Rynku i Timeline w formie agregatów: więcej historii i “wow” w UI, nadal zero mechaniki silnika.
PRO add-on
Upgrade do PRO bez przebudowy integracji
Dostajesz Echo Rynku (bias + confidence + gotowe summary) oraz Timeline jako etykiety/recency — bez K/N, bez rozkładów i bez “from/to/ts”. Partner tylko renderuje, a IP algorytmu zostaje po stronie backendu.
ENTERPRISE (Public Contract)
plan=enterprise • PRO + statistical_panel
JSON
Kliknij „Analizuj”.
Interpretacja FULL
ENTERPRISE — insight layer (safe aggregates)
PRO + panel statystyczny w wersji “agregaty do UI”: przewaga, timing i godziny — bez hourly stats i surowych danych.
Enterprise
Najmocniejsza warstwa do prezentacji i sprzedaży
Statistical Panel dostarcza AFI + best hours + timing hint jako gotowe pola do UI (bez session axis / intraday raw). Partner pokazuje “dlaczego teraz”, nie widzi “jak to jest liczone” — kontrakt pozostaje bezpieczny i stabilny.
Public Contract Preview
CORE contract_version: —
Product-level contract. Internal engine telemetry is not exposed.
Sample Response
Przykładowy publiczny JSON dla wybranego planu (preview).
JSON
Kliknij „Odśwież”.
Partner Implementation Guide (Spec B)

TradingZone B2B Public Contract v1.1 — Rendering Spec (CORE / PRO / ENTERPRISE)

Cel: partner rysuje UI 1:1 na podstawie render-fields, bez reverse-engineeringu silnika.
v1.1

1) Endpointy

Cel
Endpoint
Uwagi
Contract (prod)
/api/v1/contract/analyze?symbol=...&interval=...&plan=core|pro|enterprise
Plan decyduje o sekcjach
Contract (demo)
/api/v1/demo/contract/analyze?symbol=BTCUSDT&interval=4h&plan=...
Preview do integracji
Legend
/api/v1/legend?plan=...&lang=pl|en
Schema + interpretacja

2) Warunek renderu

ok != true
Wyświetl błąd z error.code, error.message + opcjonalnie retry_after_sec.
ok == true
Renderuj sekcje wg planu. Partner nie liczy żadnych scoringów — tylko wyświetla.

3) Wspólne sekcje (CORE/PRO/ENTERPRISE)

UI
Źródło pól
Render / format
Header
symbol, interval
Tekst
Snapshot
market_snapshot.last_price, market_snapshot.atr14
Price 2dp, ATR 4dp
Direction
trade_panel.verdict
LONG/SHORT/NEUTRAL, kolor pill
Trade Probability
trade_panel.trade_probability_pct (fallback: confidence_score)
0–100, progress bar + marker + kolor wg progów z legendy
Trend Filter
trade_panel.trend_filter.text_pl|text_en
Label obok paska
Kontekst
trade_panel.context.badge, message, opcj. position_label
Badge + opis (anty-FOMO)
Reasons (3)
trade_panel.reasons[].message_pl|message_en
3 pigułki, ellipsis
Levels
trade_panel.levels
Entry/SL/TP + guardy, preferuj *_pct_text

4) PRO: dodatki

UI
Źródło pól
Uwagi bezpieczeństwa
Echo Rynku
echo_rynku.bias, confidence_label, summary_pl|summary_en, opcj. ui_score
Agregat — brak k/n/up/down/median
Timeline
timeline.items[].label_pl|label_en, recency, total_changes
Bez from/to/ts

5) ENTERPRISE: dodatki

UI
Źródło pól
Uwagi bezpieczeństwa
AFI
statistical_panel.afi.score, statistical_panel.afi.label
Render jako badge + liczba
Best hours
statistical_panel.best_hours.best_buy_hour, best_sell_hour
Tylko godziny (agregat)
Timing hint
statistical_panel.timing_hint_pl|timing_hint_en
Tekst do UI

6) Kompatybilność / fallback (v1.x)

{
// preferuj v1.1
trade_panel.trade_probability_pct ?? trade_panel.confidence_score
levels.sl_liq_pct_text ?? levels.sl_liq_pct
levels.tp_liq_pct_text ?? levels.tp_liq_pct

// echo/timeline (jeśli kiedyś trafisz starszą wersję)
echo_rynku.summary_pl ?? legacy-built strings
timeline.items[].label_pl ?? (from + ' → ' + to)
}

7) Pseudokod renderu (high-level)

if (!contract.ok) renderError(contract.error)
else {
  renderHeader(contract.symbol, contract.interval)
  renderSnapshot(contract.market_snapshot)

  const tp = contract.trade_panel
  renderDirection(tp.verdict)
  renderProbability(tp.trade_probability_pct ?? tp.confidence_score)
  renderTrendFilter(tp.trend_filter)
  renderContext(tp.context)
  renderReasons(tp.reasons)
  renderLevels(tp.levels)

  if (plan in ['pro','enterprise']) {
    renderEcho(contract.echo_rynku)
    renderTimeline(contract.timeline)
  }
  if (plan === 'enterprise') {
    renderStats(contract.statistical_panel)
  }
}

8) Notatki dla partnera (ważne)

Temat
Zasada
Dlaczego
Stabilność kontraktu
Renderuj wyłącznie pola publiczne opisane w /api/v1/legend. Preferuj pola v1.1 (np. trade_probability_pct, *_pct_text, summary_*, label_*) i traktuj fallbacki jako przejściowe.
Minimalizuje regresje przy aktualizacjach.
Błędy i retry
Jeśli ok != true, pokaż error state i wykonaj retry z backoffem. Dla 429 respektuj Retry-After.
API może bronić się przed burstem i chwilowymi ograniczeniami upstream.
Caching / odświeżanie
To jest produktowy kontrakt do UI (nie tick-feed). Odświeżaj rozsądnie (np. klik / interwał), stosuj krótki cache po swojej stronie i nie odpalaj requestu na każdy re-render komponentu.
Stabilny UX i fair-use dla API.
Strefa czasu
best_hours traktuj jako godziny 0–23 w czasie PL (CET/CEST) — renderuj wprost, bez własnych przeliczeń.
Unikasz przesunięć i niespójności w UI.
Język
Jeśli aplikacja jest PL/EN, renderuj pola *_pl / *_en zgodnie z językiem. Gdy brak — fallback na drugi język lub neutralny tekst.
Spójność UX bez dodatkowej logiki po stronie partnera.
IP / bezpieczeństwo
Kontrakt publiczny jest „presentation-ready” i nie ujawnia telemetrii silnika. Nie próbuj odtwarzać mechaniki (reverse engineering) ani nie loguj payloadów do publicznych narzędzi analitycznych bez anonimizacji.
Ochrona IP i danych handlowych.
Contract Legend / Schema
Opis pól kontraktu dla partnerów (typ, opis, UI hint).
Pole
Opis
Typ
UI hint
Kliknij „Odśwież”.
Odpowiedź
JSON (ostatnie kliknięcie)
Kliknij „Sprawdź /api/v1/health”.
Ten panel pokazuje wynik ostatniego kliknięcia (health lub analyze). Szczegółowy podział CORE/PRO/FULL jest powyżej.
if (itv) itv.value = '4h'; }catch(e){} doHealth(); try{ doB2BLoad(); }catch(e){}