BTCTrader / broker-api-docs

The documentation for BTCTrader's white label exchange platform API. Use this documentation to access the APIs of BTCTurk other BTCTrader partners.
110 stars 32 forks source link

Btcturk baglantı problemi. #570

Closed Zerrikantarmant closed 3 months ago

Zerrikantarmant commented 5 months ago

Yaklasık 1 haftadir bir problem uzerinde cozume kavusmak icin vakit harciyorum. Hicbir turlu python araciligi ile btcturk apisine cuzdanima alim-satim kanallarina erisim sagliyamiyorum. Websocketi denedim. python icin json kutuphanesi yukledim api keylerimi defalarca kez sildim bastan olusturdum. Butun kodum hazir fakat sisteme erisim sagliyamiyorum. Verdigi hatalarin tamami api uzerine.

Suan websocket ile erisim saglamaya calistigimda aldigim hata:

WebSocket error: Handshake status 503 Service Temporarily Unavailable -+-+- {'date': 'Wed, 03 Apr 2024 23:15:40 GMT', 'content-type': 'text/html', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cf-cache-status': 'DYNAMIC', 'server': 'cloudflare', 'cf-ray': '86ecc31128b19000-FRA'} -+-+- None WebSocket error: on_close() takes 1 positional argument but 3 were given

Websocket olmadan da şöyle bir hata alıyorum:

Oluşturulan imza: 71a0cb736906bc9ab8c1aec26a507751188afe160ffd44df8492d53a715769de İşlem başarısız. Hata kodu: 401

Bu da RESTAPI kullanarak aldıgım hata;

Traceback (most recent call last): File "c:\Users\Emin\Desktop\BTCTURKVAKASI\btcturk.py", line 95, in
manage_orders() File "c:\Users\Emin\Desktop\BTCTURKVAKASI\btcturk.py", line 80, in manage_orders current_price = get_current_price() ^^^^^^^^^^^^^^^^^^^ File "c:\Users\Emin\Desktop\BTCTURKVAKASI\btcturk.py", line 43, in get_current_price return float(data["last"])


KeyError: 'last'

Bu konu ile alakalı ne yapabilirim ?
suleymanbyzt commented 5 months ago

Selamlar, Aldığınız hatalara baktığımda genel olarak kodunuzda sorun yaşadığınızı görüyorum. Kodunuzda bir hata yapıyor olabilir misiniz? Zamanında dökümana python için eklemiş olduğum kod örnekleri vardı onları direkt entegrasyon sürecinizde kullanabilirsiniz.

Python için authentication süreçlerini https://docs.btcturk.com/authentication/authentication-v1 dökümanından takip edebilirsiniz.

WebSocket için ise https://docs.btcturk.com/websocket-feed/authentication bu dökümanda bulunan kod örneğini deneyebilirsiniz.

401 hata kodunuza gelecek olursak ise kodunuzu göremediğim için net bir şekilde yorum yapamıyorum ama olası problemleri aşağıya bırakıyorum.

Servertime'ı hatalı yolluyor olabilirsiniz. Güncel servertime bilgisine erişmek için /api/v2/server/time endpointine istek atabilirsiniz. External IP adresinizi yanlış giriyor olabilirsiniz. Doğru IP adresinizi öğrenmek için cmd'den curl ifconfig.me isteği atabilirsiniz. Bu size dışa çıkış IP'nizi verecektir. Bir diğer sorun ise IPv6 kullanıyor olabilirsiniz. IPv4 adresi tanımlarken aynı zamanda IPv6 adresiniz varsa bu unauthorized hatası almanıza neden oluyor olabilir. Sorunu çözmek için IPv6 adreslemeyi kapatmayı deneyebilirsiniz. Sorunun devamı halinde tekrardan iletişime geçebilirsiniz.

IPv6 nasıl kapatacağınız ile ilgili bilgiye ileteceğim dökümandan erişebilirsiniz. https://support.nordvpn.com/hc/en-us/articles/19919186892305-How-to-disable-IPv6-on-Windows

Sorunun devamı halinde kod örneği ile birlikte server'dan dönen response'ları iletebilirseniz kodu inceleyip size bilgilendirme geçeyim.