
RESTful API Tasarımı ve WebSocket Entegrasyonu
Piyasa verisi ve işlem API'leri inşa etmek ve tüketmek
REST: Kaynaklar ve Fiiller
REST, CRUD'u HTTP'ye eşler: okumalar için GET, oluşturmak için POST, kısmi güncellemeler için PATCH, kaldırmak için DELETE. Durum kodlarını dürüstçe kullan — hata JSON'u ile 200 döndürmek istemcileri bozar.
Yolda sürüm belirt (/v1/), büyük listeleri sayfalandır (ekleme-sadece akışlar için imleç beslemesi), ve kırıcı değişiklikleri bir kullanımdan kaldırma penceresiyle belgele.
Anahtarlar ve HMAC
API anahtarları kimlik belirtir; secret'lar kanıtlar. İşlem uç noktaları için, secret'ın hattan asla geçmemesi için kanonik bir dizeyi (method + path + body + timestamp) HMAC'le. Yeniden gönderimleri engellemek için eski zaman damgalarını reddet — ±30sn yaygın bir pencere.
OAuth üçüncü taraf uygulamalara uyar; saf borsa botları genellikle anahtar+HMAC'te kalır. Hız limitleri: 429 bekle ve Retry-After'a uy.
WebSocket Yükseltmeleri
Oturum Upgrade: websocket ile HTTP GET olarak başlar; sunucu 101 Switching Protocols döndürür. Sonrasında, çerçeveler HTTP yoklamasındaki tekrarlanan TLS el sıkışmalarına kıyasla ucuzdur.
Abonelik mesajları genellikle JSON'dur: yöntem, kanallar ve bazen özel gerçekleşmeler için kimlik doğrulama imzaları.
Defterler, İşlemler, Kurtarma
İşlem akışı tick verisidir; defterler sıra numaralarıyla anlık görüntü + delta şeklindedir. Sıraları kaçırırsan, REST anlık görüntüsünden yeniden senkronize ol, sonra sıra > anlık görüntü olan deltaları uygula.
Kalp atışı (heartbeat): ping gönder veya sunucu ping'lerini bekle; sürü kalabalığını önlemek için titreşimli geri çekilme (jittered backoff) ile yeniden bağlan.
GraphQL ve OpenAPI
GraphQL, panolar için aşırı-getirmeyi (over-fetching) budar; çoğu borsa hâlâ işlem sıcak yolları için REST sunar. OpenAPI (Swagger) spekleri kod üretimine ve QA'ya yardımcı olur — örnekleri kopyala-yapıştırılabilir tut.
Minimal Bir Tüketici Örüntüsü
WebSocket döngüsünü bir görev içinde çalıştır, son fiyatları thread-safe bir haritaya it, sağlık kontrolleri için HTTP sun. Yeniden bağlanma sayılarını günlükle; sıçradıklarında uyar.
İmzalama ve saat sapması testlerini CI'a koy: üretimde bozuk bir HMAC, günlükleri denetleyene kadar „piyasa hareket etti” ile ayırt edilemez.

