
RESTful API ഡിസൈനും WebSocket സംയോജനവും
മാർക്കറ്റ് ഡേറ്റയും ട്രേഡിംഗ് API-കളും നിർമ്മിക്കുകയും ഉപയോഗിക്കുകയും ചെയ്യൽ
REST: Resources-ഉം Verbs-ഉം
REST CRUD-നെ HTTP-ലേക്ക് map ചെയ്യുന്നു: reads-ന് GET, create ചെയ്യാൻ POST, partial updates-ന് PATCH, remove ചെയ്യാൻ DELETE. Status codes സത്യസന്ധമായി ഉപയോഗിക്കുക—200 ഒരു error JSON-നൊപ്പം clients-നെ തകർക്കുന്നു.
Path-ൽ version ചെയ്യുക (/v1/), വലിയ ലിസ്റ്റുകൾ paginate ചെയ്യുക (append-only streams-ന് cursor feeds), breaking changes ഒരു deprecation window-ഓടെ document ചെയ്യുക.
Keys-ഉം HMAC-ഉം
API keys identify ചെയ്യുന്നു; secrets തെളിയിക്കുന്നു. ട്രേഡിംഗ് endpoints-ന്, secret ഒരിക്കലും wire-ൽ പോകാതിരിക്കാൻ ഒരു canonical string (method + path + body + timestamp) HMAC ചെയ്യുക. Replays തടയാൻ പഴകിയ timestamps റിജക്ട് ചെയ്യുക—±30s ഒരു സാധാരണ window ആണ്.
Third-party apps-ന് OAuth യോജിക്കുന്നു; ശുദ്ധമായ exchange bots പലപ്പോഴും key+HMAC-ൽ തുടരുന്നു. Rate limits: 429 പ്രതീക്ഷിക്കുകയും Retry-After ബഹുമാനിക്കുകയും ചെയ്യുക.
WebSocket Upgrades
Session Upgrade: websocket-ഓടെ ഒരു HTTP GET ആയി തുടങ്ങുന്നു; server 101 Switching Protocols റിട്ടേൺ ചെയ്യുന്നു. അതിന് ശേഷം, HTTP polling-ൽ ആവർത്തിക്കുന്ന TLS handshakes-നെ അപേക്ഷിച്ച് frames വളരെ വിലക്കുറവാണ്.
Subscribe messages സാധാരണയായി JSON ആണ്: method, channels, ചിലപ്പോൾ private fills-ന് auth signatures.
Books, Trades, Recovery
Trades stream tick data ആണ്; books snapshot + delta ആണ്, sequence numbers-ഓടെ. Sequences miss ചെയ്താൽ, REST snapshot-ൽ നിന്ന് resync ചെയ്ത് sequence > snapshot ഉള്ള deltas apply ചെയ്യുക.
Heartbeat: ping അയക്കുക അല്ലെങ്കിൽ server pings പ്രതീക്ഷിക്കുക; thundering herds ഒഴിവാക്കാൻ jittered backoff-ഓടെ reconnect ചെയ്യുക.
GraphQL-ഉം OpenAPI-ഉം
GraphQL dashboards-ന് over-fetching ട്രിം ചെയ്യുന്നു; പല എക്സ്ചേഞ്ചുകളും ട്രേഡിംഗ് hot paths-ന് ഇപ്പോളും REST expose ചെയ്യുന്നു. OpenAPI (Swagger) specs codegen-ഉം QA-ഉം സഹായിക്കുന്നു—examples copy-pasteable ആയി നിലനിർത്തുക.
ഒരു Minimal Consumer Pattern
WebSocket loop ഒരു task-ൽ ഓടിക്കുക, last prices ഒരു thread-safe map-ലേക്ക് push ചെയ്യുക, health checks-ന് HTTP expose ചെയ്യുക. Reconnect counts log ചെയ്യുക; അവ spike ചെയ്യുമ്പോൾ alert ചെയ്യുക.
Signing-ഉം clock skew tests-ഉം CI-ൽ ഇടുക: production-ൽ ഒരു തകർന്ന HMAC ‘മാർക്കറ്റ് നീങ്ങി’ എന്നതിൽ നിന്ന് നിങ്ങൾ logs audit ചെയ്യുന്നത് വരെ വേർതിരിക്കാൻ കഴിയില്ല.