কীভাবে একটি WebSocket প্রমাণীকরণ টোকেন পুনরুদ্ধার করবেন - Python 3-এ উদাহরণ কোড

সর্বশেষ আপডেট: ১ এপ্রি, ২০২৫

আমাদের WebSocket API-এর ব্যক্তিগত ফিডগুলি (যেমন openOrders ফিড addOrder ফিড) এর জন্য REST API থেকে একটি প্রমাণীকরণ টোকেন প্রয়োজন GetWebSocketsToken এন্ডপয়েন্ট থেকে।

REST API-এর GetWebSocketsToken এন্ডপয়েন্ট কল করার, JSON প্রতিক্রিয়া পার্স করার এবং নতুন WebSocket প্রমাণীকরণ টোকেন আউটপুট করার জন্য নিম্নলিখিতটি একটি উদাহরণ Python 3 কোড:

#!/usr/bin/env python3

# Import required Python libraries
import time
import base64
import hashlib
import hmac
import urllib.request
import json

# Copy/paste API public key and API private key as displayed in account management
api_key = 'COPY/PASTE API PUBLIC KEY HERE'
api_secret = 'COPY/PASTE API PRIVATE KEY HERE'

# Variables (API method, nonce, and POST data)
api_path = '/0/private/GetWebSocketsToken'
api_nonce = str(int(time.time()*1000))
api_post = 'nonce=' + api_nonce

# Cryptographic hash algorithms
api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_post.encode('utf-8'))
api_hmac = hmac.new(base64.b64decode(api_secret), api_path.encode('utf-8') + api_sha256.digest(), hashlib.sha512)

# Encode signature into base64 format used in API-Sign value
api_signature = base64.b64encode(api_hmac.digest())

# HTTP request (POST)
api_request = urllib.request.Request('https://api.kraken.com/0/private/GetWebSocketsToken', api_post.encode('utf-8'))
api_request.add_header('API-Key', api_key)
api_request.add_header('API-Sign', api_signature)
api_response = urllib.request.urlopen(api_request).read().decode()

# Output API response
print(json.loads(api_response)['result']['token'])

API পাবলিক/প্রাইভেট কী ভেরিয়েবলগুলি (api_key এবং api_secret) আপনার Kraken অ্যাকাউন্ট থেকে একটি নতুন API কী দিয়ে প্রতিস্থাপন করা উচিত, যার পরে একই অ্যাকাউন্টের জন্য একটি WebSocket প্রমাণীকরণ টোকেন পুনরুদ্ধার করতে কোডটি ব্যবহার করা যেতে পারে। মনে রাখবেন যে API কী-তে Other -> Access WebSockets API অনুমতি সক্রিয় থাকতে হবে।

আরও সাহায্যের প্রয়োজন?