
RESTful API дизайны және WebSocket интеграциясы
Нарық деректері мен сауда API-ларын құру және қолдану
REST: ресурстар мен етістіктер
REST CRUD әрекеттерін HTTP-ке салыстырады: оқу үшін GET, жасау үшін POST, ішінара жаңарту үшін PATCH, жою үшін DELETE. Статус кодтарын шынайы қолданыңыз — 200 қатесі бар JSON-мен бірге келсе, клиенттерді бұзады.
Жолда нұсқа көрсетіңіз (/v1/), үлкен тізімдерді бөліктерге бөліңіз (қосымша ағындар үшін курсор фидтері), және бұзушы өзгерістерді ескіру мерзімімен құжаттаңыз.
Кілттер мен HMAC
API кілттері анықтайды; құпия сөздер дәлелдейді. Трейдинг соңғы нүктелері үшін HMAC канондық жолды (метод + жол + денесі + уақыт белгісі) қолтаңбалайды, сол арқылы құпия сөз желі арқылы өтпейді. Қайталанулардың алдын алу үшін ескірген уақыт белгілерін қабылдамаңыз — ±30 секунд әдеттегі терезе.
OAuth үшінші тарап қосымшаларына жарайды; таза биржа боттары көбіне кілт+HMAC-та қалады. Жылдамдық шектері: 429 күтіңіз және Retry-After-ды сақтаңыз.
WebSocket жаңартулары
Сессия Upgrade: websocket бар HTTP GET ретінде басталады; сервер 101 Switching Protocols қайтарады. Осыдан кейін кадрлар HTTP сұрап тексеру кезіндегі қайталанатын TLS қол алысуларымен салыстырғанда арзан.
Жазылу хабарламалары әдетте JSON: метод, арналар, кейде жеке орындалымдар (fills) үшін аутентификация қолтаңбалары.
Кітаптар, мәмілелер, қалпына келтіру
Мәмілелер ағыны — тик деректері; кітаптар — реттік нөмірлері бар снапшот + дельта. Реттік нөмірлерді жіберіп алсаңыз, REST снапшотынан қайта синхрондаңыз, содан кейін реттік нөмірі снапшоттан үлкен дельталарды қолданыңыз.
Жүректің соғуы (heartbeat): пинг жіберіңіз немесе сервер пингтерін күтіңіз; «нөпір эффектін» (thundering herd) болдырмау үшін кездейсоқтандырылған кідірістермен қайта қосылыңыз.
GraphQL және OpenAPI
GraphQL дэшбордтар үшін артық деректі алуды қысқартады; көптеген биржалар трейдинг «hot path»-тары үшін әлі де REST-ті ұсынады. OpenAPI (Swagger) спецификациялары код генерациясы мен QA-ға көмектеседі — мысалдарды көшіріп-қоюға болатын күйде сақтаңыз.
Минималды тұтынушы үлгісі
WebSocket циклын тапсырмада (task) жүргізіңіз, соңғы бағаларды ағын-қауіпсіз картаға (thread-safe map) итеріңіз, денсаулық тексерулері үшін HTTP ашыңыз. Қайта қосылу санын логтаңыз; олар өрлегенде хабарландыру жіберіңіз.
Қолтаңбалау мен сағат ауытқуы тестілерін CI-ге қойыңыз: продакшндағы бұзылған HMAC логтарды тексергенше «нарық қозғалды» дегеннен ажыратылмайды.

